java - 由于库项目资源丢失,应用程序在运行时崩溃

标签 java android exception classnotfoundexception library-project

我一直在开发一个库,可以在这里看到:https://github.com/afollestad/material-dialogs

由于新的 Android Studio (0.8.14 Beta)、Gradle 和 SDK 构建工具更新,我最近创建了一个新项目并复制了 Java/XML/Drawables。当我尝试运行我创建的示例项目时,突然遇到了一个问题,它昨天运行良好。

这是当用户单击示例中的按钮之一时在运行时抛出的异常:

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/afollestad/materialdialogs/R$color;
            at com.afollestad.materialdialogs.MaterialDialog$Builder.<init>(MaterialDialog.java:389)
            at com.afollestad.materialdialogssample.MainActivity.showCallbacks(MainActivity.java:143)
            at com.afollestad.materialdialogssample.MainActivity.access$400(MainActivity.java:24)
            at com.afollestad.materialdialogssample.MainActivity$5.onClick(MainActivity.java:62)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19749)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.afollestad.materialdialogs.R$color" on path: DexPathList[[zip file "/data/app/com.afollestad.materialdialogssample-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
            at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
            at com.afollestad.materialdialogs.MaterialDialog$Builder.<init>(MaterialDialog.java:389)
            at com.afollestad.materialdialogssample.MainActivity.showCallbacks(MainActivity.java:143)
            at com.afollestad.materialdialogssample.MainActivity.access$400(MainActivity.java:24)
            at com.afollestad.materialdialogssample.MainActivity$5.onClick(MainActivity.java:62)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19749)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
    Suppressed: java.lang.ClassNotFoundException: com.afollestad.materialdialogs.R$color
            at java.lang.Class.classForName(Native Method)
            at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
            at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
            ... 15 more
     Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

MaterialDialog类被实例化时,它会检索颜色和尺寸等资源。无论出于何种原因,这些内容似乎都没有传输到 APK 文件中。我认为这可能是一个明显的合并问题。

最佳答案

通过创建另一个项目解决了这个问题。不知道第二次有什么不同o.O

关于java - 由于库项目资源丢失,应用程序在运行时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26764752/

相关文章:

java - Midi 音序器异常

java - TextView 拒绝更改文本

Android NDK 获取 ArrayList 错误

php - 在 PHP 7.4 异常的源代码中有 __wakeup 有什么意义?

java - 出现异常时继续

c# - 你能得到抛出异常的方法名吗?

java.io.FileNotFoundException(尝试反序列化)

java - 在 XSLT 中使用 spring 标签

android - 使用 SharedPreferences 的简单示例

java - 当 ListView 中没有项目(显示空 View )时,我想删除 optionMenu?