我正在开发一个 Android 项目,该项目在构建服务器上使用 ant 进行编译。 它有几个库项目。自从 Android sdk 更新以来,没有构建工作。 它因以下错误而退出
请找到下面的日志
[dex] Converting compiled files and external libraries into <project>/bin/classes.dex...
INFO -
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] java.lang.ArrayIndexOutOfBoundsException: 3158
[dx] at com.android.dx.merge.IndexMap.adjustString(IndexMap.java:112)
[dx] at com.android.dx.merge.IndexMap.adjust(IndexMap.java:212)
[dx] at com.android.dx.merge.DexMerger$7.read(DexMerger.java:505)
[dx] at com.android.dx.merge.DexMerger$7.read(DexMerger.java:499)
[dx] at com.android.dx.merge.DexMerger$IdMerger.readUnsortedValues(DexMerger.java:333)
[dx] at com.android.dx.merge.DexMerger$IdMerger.mergeUnsorted(DexMerger.java:302)
[dx] at com.android.dx.merge.DexMerger.mergeAnnotations(DexMerger.java:499)
[dx] at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:166)
[dx] at com.android.dx.merge.DexMerger.merge(DexMerger.java:186)
[dx] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:232)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:174)
[dx] at com.android.dx.command.Main.main(Main.java:91)
感谢任何帮助。
最佳答案
这是Android SDK的问题。
解决方法是在 project.properties
中使用 dex.disable.merger=true
关于使用ant进行Android构建编译导致错误 "UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.ArrayIndexOutOfBoundsException",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14039045/