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

在Android Studio中将Java模块作为依赖项包含错误的Java编译器

羊新翰
2023-03-14
问题内容

我的Android Studio项目中有一个Java模块,它是Android模块的依赖项。我在构建时遇到问题,出现以下异常。

Error:Execution failed for task ':myApplication:preDexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    /Applications/Android Studio.app/sdk/build-tools/android-4.4W/dx --dex --output ~/myapplication-app-android/dev/biketracks-app-android/bikeTracks/build/intermediates/pre-dexed/debug/coreUtilities-6ee7e0aafa5a6db72b2acb078f065e51c43124c2.jar ~/myapplication-app-android/dev/myapplication-app-android/libs/coreUtilities/build/libs/coreUtilities.jar
  Error Code:
    1
  Output:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
        at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
        at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
        at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
        at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
        at com.android.dx.command.dexer.Main.processClass(Main.java:665)
        at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
        at com.android.dx.command.dexer.Main.access$600(Main.java:78)
        at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
        at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
        at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
        at com.android.dx.command.dexer.Main.processOne(Main.java:596)
        at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
        at com.android.dx.command.dexer.Main.run(Main.java:230)
        at com.android.dx.command.dexer.Main.main(Main.java:199)
        at com.android.dx.command.Main.main(Main.java:103)
    ...while parsing com/corecoders/coreutilities/GPSUtils.class
    1 error; aborting

经过一番阅读,我可以发现这与Android Studio使用的Java编译器有关。但是我看不到改变它使用哪个编译器的方法。

我要包含在Android模块中的Java模块是我通过使用Android Studio通过依次转到文件>新模块>
Java模块创建的,因此我看不到任何可以改变的选项?

任何想法都很棒。


问题答案:

因此,我在此博客文章中找到了解决方案。

技巧是在Java库模块的build.gradle文件中,您需要包括以下内容。

apply plugin: 'java'
sourceCompatibility = 1.6
targetCompatibility = 1.6

这样就可以了。



 类似资料:
  • 我有一个jar,build-plugins.jar和一个gradle插件,它是用build.gradle中的这个插件构建的: 这将构建build-plugins.jar。并且使用插件的项目按文件引用插件jar 问题是当我运行第二个项目的任何任务时,我得到的是“class proxy created for class XYZ”,根本原因是四个依赖项(joda-time、commons-io、str

  • 问题内容: 有没有一种方法可以强制maven(2.0.9)将所有依赖项包含在单个jar文件中? 我有一个构建到单个jar文件中的项目。我希望将依赖项中的类也复制到jar中。 更新:我知道我不能只在jar文件中包含jar文件。我正在寻找一种方法来解压缩指定为依赖项的jar,并将类文件打包到我的jar中。 问题答案: 你可以使用带有描述符的插件来执行此操作。这是我们之一的相关块,它可以完成此任务:

  • 我正在用Tianium框架构建一个Android模块,我必须以AAR格式包含一个外部依赖项。我试图从AAR(即归档文件)中只提取类JAR,并将其包含在模块中,但这种技巧只适用于不依赖于任何资源的库(这就是制作AAR而不是JAR的原因)。 有没有办法在钛模块(使用Ant作为构建工具)的构建过程中包含AAR? 编辑:似乎在Appcelerator会有人做这件事:https://jira.appcele

  • 应用程序 SlidingMenu(源文件) SlidingMenu-Maps-Support(源文件) 这里有一个链接,看看我的意思。 这就是我得到的错误。 谢谢! 编辑1:不要紧!我又回到月食了!Android Studio还没有为真正的项目开发做好准备。

  • 我正在使用gradle构建一个groovy/java应用程序。在我向google guice 3.0添加依赖项之前,这一直很好。Gradle不会将guice jar添加到编译类路径中,至少看起来是这样。我遇到了这样的错误: 在我的身材中。gradle file I具有以下依赖项: 我正在使用Springsource工具套件2.9.2及其gradle插件开发应用程序,它使用gradles依赖关系管理