CMBilling.jar "while processing cn/cmgame/leaderboard/api/GameLeaderboard.class", "dx tool failed: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dx.cf.code.SimException: bad range: 5..6; actual size 5"
I've just created a new ANE for CMBilling.jar (a common library for implementing IAP in China), and I get the error below, 100% of the time, if I try to package an apk with it included.
I created a repo for easy access, SixMinute/ANEMyGamez · GitHub but realistically, if you want to replicate the bug, just include ANEMyGamez/ANEMyGamez.ane at master · SixMinute/ANEMyGamez · GitHub as an ANE into an Android project, then try build, and you'll get the same. I've tried with both AIR 14 SDK, and AIR 15 beta.
dx tool failed:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.code.SimException: bad range: 5..6; actual size 5
at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:793)
at com.android.dx.cf.code.BytecodeArray.processWorkSet(BytecodeArray.java:156)
at com.android.dx.cf.code.BasicBlocker.doit(BasicBlocker.java:346)
at com.android.dx.cf.code.BasicBlocker.identifyBlocks(BasicBlocker.java:81)
at com.android.dx.cf.code.Ropper.<init>(Ropper.java:278)
at com.android.dx.cf.code.Ropper.convert(Ropper.java:251)
at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:252)
at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:131)
at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:85)
at com.android.dx.command.dexer.Main.processClass(Main.java:299)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:278)
at com.android.dx.command.dexer.Main.access$100(Main.java:56)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:229)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
at com.android.dx.command.dexer.Main.processOne(Main.java:247)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)
at com.android.dx.command.dexer.Main.run(Main.java:139)
at com.android.dx.command.dexer.Main.main(Main.java:120)
at com.android.dx.command.Main.main(Main.java:89)
Caused by: java.lang.IllegalArgumentException: bad range: 5..6; actual size 5
at com.android.dx.util.ByteArray.checkOffsets(ByteArray.java:223)
at com.android.dx.util.ByteArray.getUnsignedByte(ByteArray.java:182)
at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:217)
... 20 more
...at bytecode offset 00000005
...while working on method <init>:()V
...while processing <init> ()V
...while processing cn/cmgame/leaderboard/api/GameLeaderboard.class
1 error; aborting
