意想不到的顶级例外:构建android项目时

时间:2013-05-09 08:19:46

标签: android

将SherlockAction Bar作为模块添加到IntelliJ项目之后。我得到以下stackTrace。如果您需要有关我的项目的更多信息,请告诉我

Error:[AndroidApp] UNEXPECTED TOP-LEVEL EXCEPTION:
Error:[AndroidApp] java.lang.IllegalArgumentException: already added: Lorg/codehaus/classworlds/uberjar/boot/Bootstrapper;
Error:[AndroidApp] at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
Error:[AndroidApp] at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
Error:[AndroidApp] at com.android.dx.command.dexer.Main.processClass(Main.java:490)
Error:[AndroidApp] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:459)
Error:[AndroidApp] at com.android.dx.command.dexer.Main.access$400(Main.java:67)
Error:[AndroidApp] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:398)
Error:[AndroidApp] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
Error:[AndroidApp] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
Error:[AndroidApp] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
Error:[AndroidApp] at com.android.dx.command.dexer.Main.processOne(Main.java:422)
Error:[AndroidApp] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:333)
Error:[AndroidApp] at com.android.dx.command.dexer.Main.run(Main.java:209)
Error:[AndroidApp] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Error:[AndroidApp] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Error:[AndroidApp] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Error:[AndroidApp] at java.lang.reflect.Method.invoke(Method.java:597)
Error:[AndroidApp] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:139)
Error:[AndroidApp] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:261)
Error:[AndroidApp] at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121)
Error:[AndroidApp] 1 error; aborting

1 个答案:

答案 0 :(得分:1)

来自以下错误消息:

Error:[AndroidApp] java.lang.IllegalArgumentException: already added: Lorg/codehaus/classworlds/uberjar/boot/Bootstrapper;

我们知道IntelliJ IDEA在编译时尝试多次添加Bootstrapper类。换句话说,IntelliJ IDEA尝试在编译时加载两个或多个相同的库和/或包含jar类的Bootstrapper

建议的解决方案:

确保避免项目中存在重复的库。

第1步:

转到File -> Project Structure,然后特别注意检查以下地点:

  1. 平台设置 - >全球图书馆
  2. 项目设置 - >库
  3. 第2步:

    检查特定于模块的库文件夹(即ROOT_OF_THE_PROJECT/libs/*)。

    第3步:

    确保不要再手动包含.jar个文件 。例如,您可能不小心添加了以下内容:

    1. 图书馆文件夹(包括/src/res/等。)
    2. 来自.jar
    3. /libs/SOME-PROBLEMATIC-JAR-FILE.jar

      在这种情况下,您只需从项目中排除(或删除)/libs/SOME-PROBLEMATIC-JAR-FILE.jar即可。