Re: Unable to execute dex: Cannot handle conversion to jumbo index!

8,363 views
Skip to first unread message

Xavier Ducrohet

unread,
Oct 9, 2012, 10:07:42 PM10/9/12
to adt...@googlegroups.com
is there any other output? Maybe when you enable verbose build?

On Tue, Oct 9, 2012 at 5:16 PM, Serge Chernetsky <serg...@gmail.com> wrote:
> I am trying out preview 8, and our team has been struggling with long build
> times due to long dexingtimes, and pre-dexing should greatly improve our
> build time, but I get the following error at the end of the dex step in
> eclipse:
> Unable to execute dex: Cannot handle conversion to jumbo index!
>
> Thanks!
>



--
Xavier Ducrohet
Android SDK Tech Lead
Google Inc.
http://developer.android.com | http://tools.android.com

Please do not send me questions directly. Thanks!

Serge Chernetsky

unread,
Oct 9, 2012, 10:11:56 PM10/9/12
to adt...@googlegroups.com
On the command line I just get this stack trace:

       [dx] UNEXPECTED TOP-LEVEL EXCEPTION:
       [dx] com.android.dx.util.DexException: Cannot handle conversion to jumbo index!
       [dx] at com.android.dx.merge.InstructionTransformer.jumboCheck(InstructionTransformer.java:103)
       [dx] at com.android.dx.merge.InstructionTransformer.access$800(InstructionTransformer.java:24)
       [dx] at com.android.dx.merge.InstructionTransformer$StringVisitor.visit(InstructionTransformer.java:69)
       [dx] at com.android.dx.io.CodeReader.callVisit(CodeReader.java:114)
       [dx] at com.android.dx.io.CodeReader.visitAll(CodeReader.java:89)
       [dx] at com.android.dx.merge.InstructionTransformer.transform(InstructionTransformer.java:47)
       [dx] at com.android.dx.merge.DexMerger.transformCode(DexMerger.java:805)
       [dx] at com.android.dx.merge.DexMerger.transformMethods(DexMerger.java:781)
       [dx] at com.android.dx.merge.DexMerger.transformClassData(DexMerger.java:754)
       [dx] at com.android.dx.merge.DexMerger.transformClassDef(DexMerger.java:656)
       [dx] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:528)
       [dx] at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:170)
       [dx] at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
       [dx] at com.android.dx.command.dexer.Main.mergeIncremental(Main.java:276)
       [dx] at com.android.dx.command.dexer.Main.run(Main.java:226)
       [dx] at com.android.dx.command.dexer.Main.main(Main.java:174)
       [dx] at com.android.dx.command.Main.main(Main.java:91)

Serge Chernetsky

unread,
Oct 9, 2012, 10:13:38 PM10/9/12
to adt...@googlegroups.com
It also somehow seems to be related to this fairly large lib jar(7MB) I have, because if I remove that then the dex succeeds. 

Xavier Ducrohet

unread,
Oct 9, 2012, 10:34:05 PM10/9/12
to adt...@googlegroups.com
I forward this to the dalvik team who's looking into it. thanks.

Xavier Ducrohet

unread,
Oct 17, 2012, 8:26:33 PM10/17/12
to adt...@googlegroups.com
We just pushed preview 9 which contains a fix for this.

Unfortunately the fix is to manually switch to jumbo mode (the dex merger should handle this, but this was a much simpler and less risky fix for now).

So just put dex.force.jumbo=true in your project.properties and clean rebuild.

Let me know if you run into problems.

罗七

unread,
Jan 12, 2015, 2:21:10 AM1/12/15
to adt...@googlegroups.com
Hi. this error is  also exist when i compile my project (which denpendent some other lib projecst) by gradle,the out put are as follow:
      /home/bysong/Android/Sdk/build-tools/21.1.1/dx --dex --no-optimize --output /home/bysong/repo.tv/ott_tv/Youku_TV/build/intermediates/dex/debug --input-list=/home/bysong/repo.tv/ott_tv/Youku_TV/build/intermediates/tmp/dex/debug/inputList.txt
  Error Code:
      2
  Output:
     
      UNEXPECTED TOP-LEVEL EXCEPTION:
      com.android.dex.DexIndexOverflowException: Cannot merge new index 65857 into a non-jumbo instruction!
          at com.android.dx.merge.InstructionTransformer.jumboCheck(InstructionTransformer.java:109)
          at com.android.dx.merge.InstructionTransformer.access$800(InstructionTransformer.java:26)
          at com.android.dx.merge.InstructionTransformer$StringVisitor.visit(InstructionTransformer.java:72)
          at com.android.dx.io.CodeReader.callVisit(CodeReader.java:114)
          at com.android.dx.io.CodeReader.visitAll(CodeReader.java:89)
          at com.android.dx.merge.InstructionTransformer.transform(InstructionTransformer.java:49)
          at com.android.dx.merge.DexMerger.transformCode(DexMerger.java:842)
          at com.android.dx.merge.DexMerger.transformMethods(DexMerger.java:813)
          at com.android.dx.merge.DexMerger.transformClassData(DexMerger.java:785)
          at com.android.dx.merge.DexMerger.transformClassDef(DexMerger.java:682)
          at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:542)
          at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
          at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
          at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
          at com.android.dx.command.dexer.Main.runMonoDex(Main.java:302)
          at com.android.dx.command.dexer.Main.run(Main.java:245)
          at com.android.dx.command.dexer.Main.main(Main.java:214)
          at com.android.dx.command.Main.main(Main.java:106)

i also add "dex.force.jumbo=true" to my project.properties files.
my project.properties is :
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

# Project target.
target=android-17
android.library.reference.1=../Youku_TV_NewPlayer
android.library.reference.2=../../ott_libs/AllAppsComponent
android.library.reference.3=../../ott_libs/Youku_TV_Launcher_Module
dex.force.jumbo=true


so , help me!!!!

在 2012年10月18日星期四 UTC+8上午8:26:55,Xavier Ducrohet写道:
Reply all
Reply to author
Forward
0 new messages