作者:笨蛋說愛我8_382 | 来源:互联网 | 2023-05-21 16:51
如何解决《在AndroidStudio中添加新模块时出现java.lang.NoClassDefFoundError:android.support.v4.app.NavUtilsJB错误》经验,为你挑选了1个好方法。
我在项目中添加新模块(https://github.com/lomza/android-color-picker)时出现了一个奇怪的错误.没有这个模块项目运行正常,但如果将此项目作为模块添加到我的主项目并编译它 - 一切看起来不错,但应用程序启动并强制关闭立即给我这个错误:
FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: android.support.v4.app.NavUtilsJB
at android.support.v4.app.NavUtils$NavUtilsImplJB.getParentActivityName(NavUtils.java:125)
at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:302)
at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:281)
at android.support.v7.app.ActionBarActivityDelegateBase.onCreate(ActionBarActivityDelegateBase.java:142)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:123)
at app.user.views.ActivityWelcome.onCreate(ActivityWelcome.java:33)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
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)
ActivityWelcome.java
33线是 super.onCreate(savedInstanceState);
如果我从项目中删除此模块 - 一切都运行良好.我在向项目添加任何新模块时遇到同样的问题.问题出在哪儿?
编辑:我发现该项目在API 21上运行良好,但如果我在API 18上运行它,我会收到错误.
1> Eddwhis..:
我找到了解决这个问题的方法.我正在使用多索引,它仅在Lolipop设备中可用,因此,要在Lolipop前设备中使用它,我需要添加此行
compile 'com.android.support:multidex:1.0.0'
到build.gradle
文件
这一条线
android:name="android.support.multidex.MultiDexApplication"
,以AndroidManifest.xml
在标签.
对我来说 - 现在一切正常.
编辑:android:name
您可以添加multiDexEnabled = true
到gradle
文件中,而不是在清单中添加行defaultConfig
.