当前位置: 首页 > 面试题库 >

java.lang.NoClassDefFoundError:在Android Studio中添加新模块时出现android.support.v4.app.NavUtilsJB错误

闾丘树
2023-03-14
问题内容

我在项目中添加新模块(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上运行它,则会收到错误消息。


问题答案:

我找到了解决此问题的方法。我使用的是多dexing,它仅在Lolipop设备中可用,因此,要在之前的Lolipop设备中使用它,我需要添加此行

compile 'com.android.support:multidex:1.0.0'build.gradle文件

这一条线
android:name="android.support.multidex.MultiDexApplication",以AndroidManifest.xml<appplication标签

对我来说-现在一切正常。

编辑: 不是增加行android:name清单中,您可以添加multiDexEnabled = truegradle文件defaultConfig



 类似资料:
  • 我在laravel 5.3中工作,我想在现有表格中添加列(即课程章节)。所以我已经通过命令创建了迁移文件 迁移文件已经创建,我已经添加了一些代码来在该表中添加列,如下所示 我执行命令后 PHP工匠迁移 表没有被创建,而不是我得到了错误 任何答案? 我现有的表迁移文件是

  • (Aaronpythonenv)aaron@aaron-n550jk:~/mysite$python manage.py makemigrations轮询回溯(最近的调用为last):文件“manage.py”,第10行,在execute_from_command_line(sys.argv)文件“/home/aaron/Aaronpythonenv/local/lib/python2.7/sit

  • 我正试图在custom ConstraintValidator中使用@Autowired annotation。 我已经阅读了一些解决方案,但没有一个有效,所以我试图使用Spring的org.springframework.web.bind.support.SpringWebConstraintValidatorFactory强制Hibernate,以创建自动构建的ConstraintValida

  • 在我的项目中,我们使用了Hibernate(JPA)元模型生成器来使我们的标准查询类型安全。在我们的应用程序中,这一切都很有效,但是,当我们使用我们的集成开发环境在Maven模块中运行JUnit测试时,它们现在会失败,出现以下错误:- 我猜这是由于我们生成的类中的以下原因:- 当Maven将测试作为构建过程的一部分运行时,它们就可以毫无问题地运行了。 我怀疑我在IDE的设置中遗漏了一些东西,那就是

  • 我们即将从java8迁移到java9,在我们的代码中我们使用的是soap,因此我需要告诉eclipse使用java.xml进行编译。ws模块。 在第一步中,我不想模块化项目(即添加module-info.java)。相反,我想将每个依赖项保留在未命名的模块中,因此我需要另一种方法将java.xml.ws模块添加到eclipse java编译器中(希望通过使用--add模块=java.xml.ws但

  • 添加简单Java库(Android Studio中的新模块)后出现令人沮丧的错误。我读过很多类似的问题,但找不到任何解决方案,有人能帮我吗? 通用域名格式。Android石斑鱼类。常见的内部的LoggedErrorException:无法运行命令:C:\Android\Android sdk\build tools\19.1.0\dx。bat—dex—输出C:。。。\AndroidStudioPr