SORU
1 Kasım 2013, Cuma


Android dex oluştururken bir BufferOverflowException verir

Özel Android projesi derleme ve Windows makinem sadece, dex'in sırasında java.nio.BufferOverflowException alıyorum. Sorun Eclipse kullanırken ve Karınca kullanırken her iki oluşur.

Karınca kullanırken çıktı

...
  [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 FAILED
C:\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

Eclipse kullanırken mesaj kısa ama benzer:

[2013-11-01 14:29:44] APK file is not created for Project: 
[2013-11-01 14:29:46 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2013-11-01 14:29:46 - MyProject] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.

Bu sorunum yok benim MacBook dediğim gibi, hem Android Yapı araçlarının en son sürümlerine yükseltilmiş olsa bile: 19.0.0.

CEVAP
13 Kasım 2013, ÇARŞAMBA


Hiçbir yapı araçları 18.1.1 geri azaltması gerekiyor1bu sorunu fixed with build tools 19.0.1.

Nedense 19.0.1 kullanamıyorum:

android:targetSdkVersion değeri emin olunAndroidManifest.xmlmaçlar target=android-<value>proje.özellikleri. Eğer bu iki değer araçları inşa ile aynı binada değilse sürüm 19.0.0 bu BufferOverflowException sona erecek.Source

Ayrıca en az 19 hedef için gereken bu yazıya yapılan yorumlar (android-19) bazı gösterge vardır. Bu çözüm de eğer hedef çalışır < eğer bir yorum bırakın lütfen; 19.

Projem için This is how the fix looks. The related AOSP issue is #61710.

1 Eğer gerçekten azaltması gerekiyorsa, kaldırma araçları inşa etmek gerekmez 19.0.0, sadece 18.1.1 yükleyin ve local.properties dosya sdk.buildtools=18.1.1 ekleyin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010
  • Rayone GB

    Rayone GB

    14 Temmuz 2007