Android java.lang.NoClassDefFoundError 在我的项目中 class
Android java.lang.NoClassDefFoundError for class in my project
我在初始化 NavigationDrawerRecyclerViewAdapter
时遇到以下错误。
现在 class com.mypackage.app.NavigationDrawerRecyclerViewAdapter
存在并且它是 public 并且它的构造函数也是 public。
1: thread exiting with uncaught exception (group=0x416fed58)
05-18 10:46:20.573 3669-3669/com.mypackage.app E/AndroidRuntime: FATAL EXCEPTION: main Process: com.mypackage.app, PID: 3669
java.lang.NoClassDefFoundError: com.mypackage.app.NavigationDrawerRecyclerViewAdapter at com.mypackage.app.FragmentDrawer.onCreateView(FragmentDrawer.java:68)
清理和重建项目不起作用。关于这里可能出现的问题有什么建议吗?
单击您的项目 -> 属性 -> 构建路径 -> 排序和导出选项卡。
确保选中 "Android Private Libraries" 导出。
如果库已经从 libs/ 文件夹中添加,请删除它们,因为它们会自动添加到 "Android Private Libraries" 部分。
NoClassDefFoundError 表示 class 在编译期间存在,但在您 运行 您的应用程序时不可用,有时静态初始化程序块上的错误也可能导致 NoClassDefFoundError 或此 [= 的上下文12=] 不可访问。
因此,请确保此 class 引用相同的 class 内存。
我找到了答案。
我启用了 multidex,这是导致问题的原因。
我在 build.gradle 中使用编译 'com.google.android.gms:play-services:8.4.0' 而我只需要 com.google.android.gms:play-services-auth:8.4.0.
更改以上内容,我能够 运行 我的应用程序而无需启用 multidex,这会导致 class 未找到错误。
这有帮助:App not launching with multidexEnabled true in android studio - Famous 65k reference method
我在初始化 NavigationDrawerRecyclerViewAdapter
时遇到以下错误。
现在 class com.mypackage.app.NavigationDrawerRecyclerViewAdapter
存在并且它是 public 并且它的构造函数也是 public。
1: thread exiting with uncaught exception (group=0x416fed58)
05-18 10:46:20.573 3669-3669/com.mypackage.app E/AndroidRuntime: FATAL EXCEPTION: main Process: com.mypackage.app, PID: 3669
java.lang.NoClassDefFoundError: com.mypackage.app.NavigationDrawerRecyclerViewAdapter at com.mypackage.app.FragmentDrawer.onCreateView(FragmentDrawer.java:68)
清理和重建项目不起作用。关于这里可能出现的问题有什么建议吗?
单击您的项目 -> 属性 -> 构建路径 -> 排序和导出选项卡。 确保选中 "Android Private Libraries" 导出。 如果库已经从 libs/ 文件夹中添加,请删除它们,因为它们会自动添加到 "Android Private Libraries" 部分。
NoClassDefFoundError 表示 class 在编译期间存在,但在您 运行 您的应用程序时不可用,有时静态初始化程序块上的错误也可能导致 NoClassDefFoundError 或此 [= 的上下文12=] 不可访问。 因此,请确保此 class 引用相同的 class 内存。
我找到了答案。
我启用了 multidex,这是导致问题的原因。 我在 build.gradle 中使用编译 'com.google.android.gms:play-services:8.4.0' 而我只需要 com.google.android.gms:play-services-auth:8.4.0.
更改以上内容,我能够 运行 我的应用程序而无需启用 multidex,这会导致 class 未找到错误。
这有帮助:App not launching with multidexEnabled true in android studio - Famous 65k reference method