當(dāng)編譯一個(gè)特定的Android項(xiàng)目時(shí),并且僅在我的Windows計(jì)算機(jī)上,我java.nio.BufferOverflowException從dex中獲得了。使用Eclipse和使用Ant時(shí)均會發(fā)生此問題。使用Ant時(shí)的輸出為:... [dex] Pre-Dexing C:\MyProject\libs\android-support-v4.jar -> android-support-v4-5f5341d3c1b10a79d7d93f9c1e64421e.jar [dex] Converting compiled files and external libraries into C:\MyProject\bin\classes.dex... [dx] [dx] UNEXPECTED TOP-LEVEL EXCEPTION: [dx] java.nio.BufferOverflowException [dx] at java.nio.Buffer.nextPutIndex(Buffer.java:499) [dx] at java.nio.HeapByteBuffer.putShort(HeapByteBuffer.java:296) [dx] at com.android.dex.Dex$Section.writeShort(Dex.java:818) [dx] at com.android.dex.Dex$Section.writeTypeList(Dex.java:870) [dx] at com.android.dx.merge.DexMerger$3.write(DexMerger.java:437) [dx] at com.android.dx.merge.DexMerger$3.write(DexMerger.java:423) [dx] at com.android.dx.merge.DexMerger$IdMerger.mergeUnsorted(DexMerger.java:317) [dx] at com.android.dx.merge.DexMerger.mergeTypeLists(DexMerger.java:423) [dx] at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:163) [dx] at com.android.dx.merge.DexMerger.merge(DexMerger.java:187) [dx] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439) [dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287) [dx] at com.android.dx.command.dexer.Main.run(Main.java:230) [dx] at com.android.dx.command.dexer.Main.main(Main.java:199) [dx] at com.android.dx.command.Main.main(Main.java:103)BUILD FAILEDC:\Users\Jaap\android-sdks\tools\ant\build.xml:892: The following error occurred while executing this line:C:\Users\Jaap\android-sdks\tools\ant\build.xml:894: The following error occurred while executing this line:C:\Users\Jaap\android-sdks\tools\ant\build.xml:906: The following error occurred while executing this line:C:\Users\Jaap\android-sdks\tools\ant\build.xml:284: null returned: 2就像我說的那樣,我的MacBook上沒有這個(gè)問題,即使它們都已升級到最新版本的Android Build工具:19.0.0。
Android dex在構(gòu)建時(shí)會給出BufferOverflowException
動(dòng)漫人物
2019-10-16 13:06:39