我正在尝试构建开发人员可以在其项目中包含的SDK 库(。jar)。 库项目将使用loopj网络第三方库来实现网络功能。 所以,我需要将一个库(loopj)捆绑到另一个库(我们的自定义库)中,然后输出一个jar。
有两个项目,(1) SDK库项目,以及(2)用于测试SDK库的 demo android应用程序项目。
SDK库项目编译得很好,使用loopj类的类能够毫无问题地引用它们。我编译SDK项目以输出.jar文件以在demo android项目中进行测试。
问题是,当我将.jar文件添加到演示应用程序项目时,会出现一个错误,即库类无法“看到”loopj网络类(底部错误)。奇怪,因为相关的类在库项目中看到loopj没有问题。所以,我假设我没有正确地将loopj库添加到库项目中。也许我错过了某个地方的一步......
我尝试的事情:
问题: 将第三方库正确捆绑到.jar创建的库项目中的过程是什么?
*使用Intellij IDEA 14 CE
02-20 12:44:43.535 20301-20301/com.zoids.android.example E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.zoids.android.example, PID: 20301
java.lang.NoClassDefFoundError: com.loopj.android.http.AsyncHttpClient
at com.zoids.Zoids.detectImageWithURL(Zoids.java:184)
at com.zoids.android.example.MyActivity.onCreate(MyActivity.java:52)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:0)
首先,这个问题是由于你的类路径/构建路径上缺少jar 因此,请尝试右键单击您的项目并添加外部jar,如loopj,并将其添加到项目的路径中......
其次将所有这些捆绑在一起....通常有一个导出项目的选项...选择jar作为输出,这就是it.hope它有帮助。