我刚安装了新的Android SDK和ADT 17.安装完成后,我遇到了外部jar的已知问题。
我将目录重命名为libs,从构建路径中删除了所有条目。 ADT再次将它添加到android项目中,现在找到了lib。
但是:找不到我自己的包中的类了。该项目已编译但在运行时,在第一次需要该类时,将抛出NoClassDefFoundError-Exception:
03-27 13:31:56.483: E/AndroidRuntime(1051): java.lang.NoClassDefFoundError: com.my.package.local.PersistantAuthenticationManager
03-27 13:31:56.483: E/AndroidRuntime(1051): at com.my.package.Login.onCreate(Login.java:93)
03-27 13:31:56.483: E/AndroidRuntime(1051): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
03-27 13:31:56.483: E/AndroidRuntime(1051): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751)
03-27 13:31:56.483: E/AndroidRuntime(1051): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
03-27 13:31:56.483: E/AndroidRuntime(1051): at android.app.ActivityThread.access$2300(ActivityThread.java:135)
03-27 13:31:56.483: E/AndroidRuntime(1051): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
03-27 13:31:56.483: E/AndroidRuntime(1051): at android.os.Handler.dispatchMessage(Handler.java:99)
03-27 13:31:56.483: E/AndroidRuntime(1051): at android.os.Looper.loop(Looper.java:144)
03-27 13:31:56.483: E/AndroidRuntime(1051): at android.app.ActivityThread.main(ActivityThread.java:4937)
03-27 13:31:56.483: E/AndroidRuntime(1051): at java.lang.reflect.Method.invokeNative(Native Method)
03-27 13:31:56.483: E/AndroidRuntime(1051): at java.lang.reflect.Method.invoke(Method.java:521)
03-27 13:31:56.483: E/AndroidRuntime(1051): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-27 13:31:56.483: E/AndroidRuntime(1051): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-27 13:31:56.483: E/AndroidRuntime(1051): at dalvik.system.NativeStart.main(Native Method)
我该如何解决?
答案 0 :(得分:0)
我解决了问题:问题是引用的项目,而不是引用的jar。问题:图书馆没有出现在导出标签中,所以我没有认出它是问题。
但是当我仔细查看logcat消息时,我发现了一个小错误消息,为什么找不到本地包中的类。它实现了引用项目的接口,但未找到此接口。
cloue:从构建路径中删除项目并再次添加它后,它出现在Export-Tab中。将其添加到导出项目可以解决此问题。