我被android库的东西困住了。
我有
- 一个专门用于图书馆的项目(我们称之为jokerly)。
- 带有应用程序的项目(我们称之为 testPhilippe)
- 从 lib 生成的 jar(我们称之为jokerly.jar)
这个jokerly lib 是一个使用视图、xml、图片和生成文件(例如R.java)的图形库。
我设法启动我的应用程序,在属性/android/library 中导入jokerly lib(项目)没有任何问题。一切正常 - 这是图片:
!
另一方面,当我尝试在 java 构建路径中导入jokerly.jar(并从与上述相同的位置删除jokerly lib 项目)时,无论复选框和jokerly.jar 在 properties/javabuildpath/order 和导出中的位置。我也尝试手动将其放入libs文件夹中,但问题是一样的。
java.lang.RuntimeException: Unable to instantiate application com.example.testphilippe.Jokerly: java.lang.ClassNotFoundException: Didn't find class "com.example.testphilippe.Jokerly" on path: DexPathList[[zip file "/data/app/com.example.testphilippe-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.testphilippe-2, /vendor/lib, /system/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:509)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4417)
at android.app.ActivityThread.access$1300(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.testphilippe.Jokerly" on path: DexPathList[[zip file "/data/app/com.example.testphilippe-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.testphilippe-2, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newApplication(Instrumentation.java:975)
at android.app.LoadedApk.makeApplication(LoadedApk.java:504)
09-11 11:13:37.350: E/AndroidRuntime(22080): ... 11 more
我尝试了(根据@Vj_Droid 的建议)更多的操作:
我在项目外部的 java 构建路径(而不是 lib 文件夹中)中添加了jokerly.jar。如果未选中复选框,我会遇到同样的错误。如果我检查它,我有以下错误。如果我在 libs 文件夹中手动添加jokerly.jar,然后将其从 libs 文件夹添加到 javabuild paht 中,即使未选中该框,我也会遇到相同的错误(如下)。
[2013-09-11 11:59:42 - TestPhilippe] Error generating final archive: Found duplicate file for APK: AndroidManifest.xml
Origin 1: /Users/markelys/Dropbox/Tech/Projets/Android/Workspace/TestPhilippe/bin/resources.ap_
Origin 2: /Users/markelys/Dropbox/Tech/Projets/Android/Workspace/jokerly.jar
这是我为导出 Jar 文件所做的:
如果您需要,请随时询问更多信息!
我已经坚持了好几天......任何帮助将不胜感激!