我正在尝试编写一个 Android 类库项目。起初我尝试引用该项目,但收到 ClassDefNotFound 错误。所以我所做的就是从我的库项目输出中获取 JAR 文件并将其放入我的项目中。现在我没有发现类未找到,但出现错误,指出找不到资源(库有字符串、样式、动画...)。
05-30 02:27:00.255: E/AndroidRuntime(2083): java.lang.NoClassDefFoundError: com.mycompany.popupdialog.R$style
05-30 02:27:00.255: E/AndroidRuntime(2083): at com.mycompany.popupdialog.Popupdialog.<init>(SweetAlertDialog.java:75)
05-30 02:27:00.255: E/AndroidRuntime(2083): at com.mycompany.popupdialog.Popupdialog.<init>(SweetAlertDialog.java:71)
05-30 02:27:00.255: E/AndroidRuntime(2083): at com.mycompany.androidApplication.MainActivity$2.onClick(MainActivity.java:156)
05-30 02:27:00.255: E/AndroidRuntime(2083): at android.view.View.performClick(View.java:4240)
05-30 02:27:00.255: E/AndroidRuntime(2083): at android.view.View$PerformClick.run(View.java:17721)
05-30 02:27:00.255: E/AndroidRuntime(2083): at android.os.Handler.handleCallback(Handler.java:730)
05-30 02:27:00.255: E/AndroidRuntime(2083): at android.os.Handler.dispatchMessage(Handler.java:92)
05-30 02:27:00.255: E/AndroidRuntime(2083): at android.os.Looper.loop(Looper.java:137)
05-30 02:27:00.255: E/AndroidRuntime(2083): at android.app.ActivityThread.main(ActivityThread.java:5103)
05-30 02:27:00.255: E/AndroidRuntime(2083): at java.lang.reflect.Method.invokeNative(Native Method)
05-30 02:27:00.255: E/AndroidRuntime(2083): at java.lang.reflect.Method.invoke(Method.java:525)
05-30 02:27:00.255: E/AndroidRuntime(2083): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
05-30 02:27:00.255: E/AndroidRuntime(2083): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
05-30 02:27:00.255: E/AndroidRuntime(2083): at dalvik.system.NativeStart.main(Native Method)
如何在 JAR 文件中包含我需要的所有资源,而不必将它们包含在托管项目中?
在引用项目的情况下 - 我尝试了在网上找到的有关清理项目、在“订单和导出”屏幕中设置项目的所有操作 - 没有任何帮助。
最佳答案
我认为这背后的问题是,您只是将库 jar 放在 lib
文件夹中,但没有附加到 BuildPath
。
试试这个
right click on jar you have attached.
goto BuildPath ,
click on add to BuildPath.
希望这有帮助
关于java - JAR 中的 Android 库资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30543240/