Android:如何使用“使用库”?

前端之家收集整理的这篇文章主要介绍了Android:如何使用“使用库”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的 Android应用程序可以分为客户端UI层和API层.我想将它们部署为单独的“应用程序”,以便可以重用API层.

在Eclipse中,我将它们编写为2个独立的Android项目.在客户端UI项目中,我在其构建路径中声明API项目(项目 – > Properies – > Java构建路径 – >项目).

通过Eclipse(在我的实际G1手机上)部署客户端UI项目时,它会自动部署API项目(打包到APK中).

但是,启动客户端UI应用程序时,我遇到此错误

Uncaught handler: thread main exiting due to uncaught exception
java.lang.VerifyError: myapp.android.testuiclient.Main
    at java.lang.Class.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1472)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1097)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2316)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
    at android.app.ActivityThread.access$2100(ActivityThread.java:116)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:4203)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:521)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
    at dalvik.system.NativeStart.main(Native Method)

环顾四周,似乎我应该在UI客户端的清单文件中声明应用程序下的uses-library.

问题是,我应该在android:name下使用库?开发指南说“图书馆的名称”,但图书馆的名称是什么? (我的意思是,在我的API“应用程序”中,我没有在任何地方声明任何库名.)

解决方法

我不相信< uses-library>在这里是相关的.

你的选择是:

>将您的“库”实现为JAR,以便在编译时包含在其他项目中.只要您的图书馆没有尝试定义资源,您的状态就会很好.有关如何进行设置的示例,请参阅我的github page上的CWAC项目.>将您的“库”实现为包含使用AIDL定义的远程服务的单独APK.不要像在Eclipse中那样尝试混合它们的构建路径,而是遵循AIDL规则并让每个项目使用一个共同的AIDL定义.您还需要安排用户安装两个APK.>将您的“库”实现为包含ContentProvider的单独APK.不要像在Eclipse中那样尝试混合他们的构建路径,而是遵循ContentProvider规则并让客户端通过ContentResolver和定义的Uri访问提供者.您还需要安排用户安装两个APK.

原文链接:https://www.f2er.com/android/309241.html

猜你在找的Android相关文章