Git Product home page Git Product logo

dex2jar's Introduction

dex2jar

Project move to GitHub

_ Mirror Wiki Downloads Issues
gh https://github.com/pxb1988/dex2jar Wiki Releases Issues
sf https://sourceforge.net/p/dex2jar old old old
bb https://bitbucket.org/pxb1988/dex2jar old old old
gc https://code.google.com/p/dex2jar old old old

Tools to work with android .dex and java .class files

  1. dex-reader/writer: Read/write the Dalvik Executable (.dex) file. It has a light weight API similar with ASM.
  2. d2j-dex2jar: Convert .dex file to .class files (zipped as jar)
  3. smali/baksmali: disassemble dex to smali files and assemble dex from smali files. different implementation to smali/baksmali, same syntax, but we support escape in type desc "Lcom/dex2jar\t\u1234;"
  4. other tools: d2j-decrypt-string

Usage

  1. In the root directory run: ./gradlew distZip
  2. cd dex-tools/build/distributions
  3. Unzip the file dex-tools-2.1-SNAPSHOT.zip (file size should be ~5 MB)
  4. Run d2j-dex2jar.sh from the unzipped directory

Example usage:

sh d2j-dex2jar.sh -f ~/path/to/apk_to_decompile.apk

And the output file will be apk_to_decompile-dex2jar.jar.

Need help ?

post on issue trackers list above.

License

Apache 2.0

dex2jar's People

Contributors

ayyrickay avatar barriosnahuel avatar claui avatar jschmid avatar kcmvp avatar marukohe avatar omeraydindev avatar paulo-raca avatar pxb1988 avatar sschuberth avatar thexxturboxx avatar twisterrob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dex2jar's Issues

Error

This file is generated by dex2jar

Please report this file to one of following link if possible (any one).
https://sourceforge.net/p/dex2jar/tickets/
https://bitbucket.org/pxb1988/dex2jar/issues
https://github.com/pxb1988/dex2jar/issues [no attachment support, not preferred]
[email protected]

There are 15 methods fail to translate.
2015-10-01 06:49:42 UTC
version: [dex-reader-2.1-SNAPSHOT, dex-reader-api-2.1-SNAPSHOT, dex-ir-2.1-SNAPSHOT, d2j-smali-2.1-SNAPSHOT, d2j-base-cmd-2.1-SNAPSHOT, dex-tools-2.1-SNAPSHOT, dex-translator-2.1-SNAPSHOT]
cmdline: [/home/denischuvasov/decompiler/dex2jar-2.1-SNAPSHOT/com.freevpnintouch.apk]
env:
java.runtime.name: Java(TM) SE Runtime Environment
java.vm.version: 24.75-b04
java.vm.vendor: Oracle Corporation
java.vendor.url: http://java.oracle.com/
java.vm.name: Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name: Java Virtual Machine Specification
java.runtime.version: 1.7.0_75-b13
java.awt.graphicsenv: sun.awt.X11GraphicsEnvironment
java.endorsed.dirs: /usr/lib/jvm/jdk1.7.0_75/jre/lib/endorsed
java.io.tmpdir: /tmp
java.vm.specification.vendor: Oracle Corporation
java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.specification.name: Java Platform API Specification
java.class.version: 51.0
java.awt.printerjob: sun.print.PSPrinterJob
java.specification.version: 1.7
java.class.path: .:./lib/antlr-runtime-3.5.2.jar:./lib/asm-debug-all-4.1.jar:./lib/d2j-base-cmd-2.1-SNAPSHOT.jar:./lib/d2j-jasmin-2.1-SNAPSHOT.jar:./lib/d2j-smali-2.1-SNAPSHOT.jar:./lib/dex-ir-2.1-SNAPSHOT.jar:./lib/dex-reader-2.1-SNAPSHOT.jar:./lib/dex-reader-api-2.1-SNAPSHOT.jar:./lib/dex-tools-2.1-SNAPSHOT.jar:./lib/dex-translator-2.1-SNAPSHOT.jar:./lib/dex-writer-2.1-SNAPSHOT.jar:./lib/dx-1.7.jar
java.vm.specification.version: 1.7
java.home: /usr/lib/jvm/jdk1.7.0_75/jre
java.specification.vendor: Oracle Corporation
java.vm.info: mixed mode
java.version: 1.7.0_75
java.ext.dirs: /usr/lib/jvm/jdk1.7.0_75/jre/lib/ext:/usr/java/packages/lib/ext
java.vendor: Oracle Corporation
java.vendor.url.bug: http://bugreport.sun.com/bugreport/

================= 0 ===================
Lcom/immersion/hapticmediasdk/HapticContentSDK;.resume()I
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public final resume()I
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L2
.registers 5
const/4 v0, -1
const/4 v1, -1
invoke-virtual { p0 }, Lcom/immersion/hapticmediasdk/HapticContentSDK;->getSDKStatus()Lcom/immersion/hapticmediasdk/HapticContentSDK$SDKStatus;
move-result-object v2
sget-object v3, Lcom/immersion/hapticmediasdk/HapticContentSDK$SDKStatus;->PAUSED:Lcom/immersion/hapticmediasdk/HapticContentSDK$SDKStatus;
if-eq v2, v3, :L3
sget-object v3, Lcom/immersion/hapticmediasdk/HapticContentSDK$SDKStatus;->PLAYING:Lcom/immersion/hapticmediasdk/HapticContentSDK$SDKStatus;
if-eq v2, v3, :L3
sget-object v3, Lcom/immersion/hapticmediasdk/HapticContentSDK$SDKStatus;->STOPPED:Lcom/immersion/hapticmediasdk/HapticContentSDK$SDKStatus;
if-ne v2, v3, :L4
:L0
new-array v0, v1, [I
:L1
goto :L0
:L2
move-exception v0
const/16 v0, 99
sput v0, Lcom/immersion/hapticmediasdk/HapticContentSDK;->b044604460446\u0446\u0446\u0446:I
:L3
iget-object v0, p0, Lcom/immersion/hapticmediasdk/HapticContentSDK;->mMediaTaskManager:Lcom/immersion/hapticmediasdk/MediaTaskManager;
invoke-virtual { v0 }, Lcom/immersion/hapticmediasdk/MediaTaskManager;->setMediaReferenceTime()V
iget-object v0, p0, Lcom/immersion/hapticmediasdk/HapticContentSDK;->mMediaTaskManager:Lcom/immersion/hapticmediasdk/MediaTaskManager;
sget-object v1, Lcom/immersion/hapticmediasdk/HapticContentSDK$SDKStatus;->PLAYING:Lcom/immersion/hapticmediasdk/HapticContentSDK$SDKStatus;
invoke-virtual { v0, v1 }, Lcom/immersion/hapticmediasdk/MediaTaskManager;->transitToState(Lcom/immersion/hapticmediasdk/HapticContentSDK$SDKStatus;)I
move-result v0
:L4
return v0
.end method

================= 1 ===================
Lrrrrrr/rccrrr;.(Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;)V
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method private constructor (Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;)V
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L8
.catch Ljava/lang/Exception; { :L3 .. :L4 } :L6
.catch Ljava/lang/Exception; { :L4 .. :L5 } :L7
.catch Ljava/lang/Exception; { :L9 .. :L10 } :L2
.registers 6
const/4 v0, 0
const/4 v1, 0
const/4 v2, -1
:L0
new-array v3, v2, [I
:L1
goto :L0
:L2
move-exception v0
:L3
iput-object p1, p0, Lrrrrrr/rccrrr;->b04440444\u0444\u044404440444:Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;
:L4
invoke-direct { p0 }, Landroid/os/Handler;->()V
:L5
return-void
:L6
move-exception v0
throw v0
:L7
move-exception v0
throw v0
:L8
move-exception v2
:L9
div-int/2addr v0, v1
:L10
goto :L9
.end method

================= 2 ===================
Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;.b04110411ะ‘ะ‘ะ‘0411(Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;)Lcom/immersion/hapticmediasdk/utils/FileManager;
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public static synthetic b04110411\u0411\u0411\u04110411(Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;)Lcom/immersion/hapticmediasdk/utils/FileManager;
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L2
.registers 3
const/4 v0, -1
:L0
new-array v1, v0, [I
:L1
goto :L0
:L2
move-exception v0
const/16 v0, 90
sput v0, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->b\u0427042704270427\u0427\u0427:I
iget-object v0, p0, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->C:Lcom/immersion/hapticmediasdk/utils/FileManager;
return-object v0
.end method

================= 3 ===================
Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;.bะ‘0411ะ‘ะ‘04110411(Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;I)I
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public static synthetic b\u04110411\u0411\u041104110411(Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;I)I
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L6
.catch Ljava/lang/Exception; { :L3 .. :L4 } :L5
.catch Ljava/lang/Exception; { :L7 .. :L8 } :L2
.registers 4
const/4 v0, -1
:L0
new-array v1, v0, [I
:L1
goto :L0
:L2
move-exception v0
invoke-static { }, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->b0427\u0427\u0427\u04270427\u0427()I
move-result v0
sput v0, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->b\u0427042704270427\u0427\u0427:I
:L3
iput p1, p0, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->t:I
:L4
return p1
:L5
move-exception v0
throw v0
:L6
move-exception v1
invoke-static { }, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->b0427\u0427\u0427\u04270427\u0427()I
move-result v1
sput v1, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->b\u0427042704270427\u0427\u0427:I
:L7
new-array v1, v0, [I
:L8
goto :L7
.end method

================= 4 ===================
Lcom/immersion/hapticmediasdk/models/HapticFileInformation$Builder;.setSampleHertz(I)Lcom/immersion/hapticmediasdk/models/HapticFileInformation$Builder;
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public setSampleHertz(I)Lcom/immersion/hapticmediasdk/models/HapticFileInformation$Builder;
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L3
.catch Ljava/lang/Exception; { :L4 .. :L5 } :L2
.registers 5
const/4 v0, 0
const/4 v1, -1
:L0
new-array v2, v1, [I
:L1
goto :L0
:L2
move-exception v0
const/16 v0, 53
sput v0, Lcom/immersion/hapticmediasdk/models/HapticFileInformation$Builder;->b\u04210421\u04210421\u0421\u0421:I
iput p1, p0, Lcom/immersion/hapticmediasdk/models/HapticFileInformation$Builder;->f:I
return-object p0
:L3
move-exception v1
invoke-static { }, Lcom/immersion/hapticmediasdk/models/HapticFileInformation$Builder;->b\u0421042104210421\u0421\u0421()I
move-result v1
sput v1, Lcom/immersion/hapticmediasdk/models/HapticFileInformation$Builder;->b\u04210421\u04210421\u0421\u0421:I
:L4
invoke-virtual { v0 }, Ljava/lang/String;->length()I
:L5
goto :L4
.end method

================= 5 ===================
Lcom/immersion/hapticmediasdk/models/HapticFileInformation;.getFileLength()I
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public getFileLength()I
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L2
.catch Ljava/lang/Exception; { :L3 .. :L4 } :L5
.registers 3
const/4 v0, -1
:L0
new-array v1, v0, [I
:L1
goto :L0
:L2
move-exception v0
const/4 v0, 0
sput v0, Lcom/immersion/hapticmediasdk/models/HapticFileInformation;->b\u04210421\u042104210421\u0421:I
:L3
iget v0, p0, Lcom/immersion/hapticmediasdk/models/HapticFileInformation;->b:I
:L4
return v0
:L5
move-exception v0
throw v0
.end method

================= 6 ===================
Lcom/immersion/hapticmediasdk/HapticContentSDK;.getVersion()Ljava/lang/String;
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public final getVersion()Ljava/lang/String;
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L2
.registers 3
const/4 v0, -1
:L0
new-array v1, v0, [I
:L1
goto :L0
:L2
move-exception v0
const/16 v0, 88
sput v0, Lcom/immersion/hapticmediasdk/HapticContentSDK;->b044604460446\u0446\u0446\u0446:I
const-string v0, "v2.0.68.4"
return-object v0
.end method

================= 7 ===================
Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;.b()Z
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method private b()Z
.catch Ljava/io/IOException; { :L0 .. :L3 } :L10
.catch Ljava/lang/Exception; { :L3 .. :L4 } :L11
.catch Ljava/io/IOException; { :L5 .. :L9 } :L10
.registers 9
const/4 v6, 4
const/4 v0, 0
const/4 v1, -1
const/4 v2, 4
:L0
invoke-static { v2 }, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v2
sget-object v3, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual { v2, v3 }, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
const/4 v3, 0
invoke-virtual { v2, v3 }, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
iget-object v3, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->c:Ljava/nio/channels/FileChannel;
const-wide/16 v4, 16
invoke-virtual { v3, v2, v4, v5 }, Ljava/nio/channels/FileChannel;->read(Ljava/nio/ByteBuffer;J)I
move-result v3
if-eq v3, v6, :L5
:L1
return v0
:L2
const/4 v5, 4
invoke-virtual { v4, v5 }, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
invoke-virtual { v4 }, Ljava/nio/ByteBuffer;->getInt()I
move-result v5
add-int/lit8 v5, v5, 8
sub-int/2addr v5, v3
iput v5, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->r:I
iput v3, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->s:I
const/16 v3, 20
invoke-virtual { v4, v3 }, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
new-array v3, v2, [B
iput-object v3, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->p:[B
invoke-virtual { v4 }, Ljava/nio/ByteBuffer;->duplicate()Ljava/nio/ByteBuffer;
move-result-object v3
iget-object v5, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->p:[B
const/4 v6, 0
invoke-virtual { v3, v5, v6, v2 }, Ljava/nio/ByteBuffer;->get([BII)Ljava/nio/ByteBuffer;
iget-object v3, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->o:Lcom/immersion/content/HeaderUtils;
invoke-virtual { v3, v4, v2 }, Lcom/immersion/content/HeaderUtils;->setEncryptedHSI(Ljava/nio/ByteBuffer;I)V
iget-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->o:Lcom/immersion/content/HeaderUtils;
invoke-virtual { v2 }, Lcom/immersion/content/HeaderUtils;->calculateBlockSize()I
move-result v2
if-lez v2, :L1
mul-int/lit8 v2, v2, 2
sput v2, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->i:I
iget-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->o:Lcom/immersion/content/HeaderUtils;
invoke-virtual { v2 }, Lcom/immersion/content/HeaderUtils;->calculateBlockRate()I
move-result v2
if-lez v2, :L1
sput v2, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->h:I
:L3
new-array v0, v1, [I
:L4
goto :L3
:L5
invoke-virtual { v2 }, Ljava/nio/ByteBuffer;->flip()Ljava/nio/Buffer;
invoke-virtual { v2 }, Ljava/nio/ByteBuffer;->getInt()I
move-result v2
:L6
packed-switch v0, :L12
:L7
packed-switch v0, :L13
goto :L7
:L8
add-int/lit8 v3, v2, 28
invoke-static { v3 }, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v4
sget-object v5, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual { v4, v5 }, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
iget-object v5, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->c:Ljava/nio/channels/FileChannel;
const-wide/16 v6, 0
invoke-virtual { v5, v4, v6, v7 }, Ljava/nio/channels/FileChannel;->read(Ljava/nio/ByteBuffer;J)I
:L9
move-result v5
if-eq v5, v3, :L2
goto :L1
:L10
move-exception v1
invoke-virtual { v1 }, Ljava/io/IOException;->printStackTrace()V
goto :L1
:L11
move-exception v0
invoke-static { }, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->b0415\u041504150415\u0415\u0415()I
move-result v0
sput v0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->b0415\u0415\u04150415\u0415\u0415:I
const/4 v0, 1
goto :L1
:L12
.packed-switch 0
:L8
:L6
.end packed-switch
:L13
.packed-switch 0
:L8
:L6
.end packed-switch
.end method

================= 8 ===================
Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;.bะ‘0411ะ‘0411ะ‘0411(Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;)V
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public static synthetic b\u04110411\u04110411\u04110411(Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;)V
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L2
.registers 3
const/4 v0, -1
invoke-direct { p0 }, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->h()V
:L0
new-array v1, v0, [I
:L1
goto :L0
:L2
move-exception v0
invoke-static { }, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->b0427\u0427\u0427\u04270427\u0427()I
move-result v0
sput v0, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->b\u0427042704270427\u0427\u0427:I
return-void
.end method

================= 9 ===================
Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;.bufferAtPlaybackPosition(I)Z
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public bufferAtPlaybackPosition(I)Z
.catch Ljava/lang/Exception; { :L0 .. :L3 } :L19
.catch Lcom/immersion/hapticmediasdk/models/NotEnoughHapticBytesAvailableException; { :L4 .. :L5 } :L15
.catch Ljava/io/IOException; { :L4 .. :L5 } :L26
.catch Ljava/lang/Exception; { :L4 .. :L5 } :L19
.catch Lcom/immersion/hapticmediasdk/models/NotEnoughHapticBytesAvailableException; { :L6 .. :L7 } :L15
.catch Ljava/io/IOException; { :L6 .. :L7 } :L26
.catch Ljava/lang/Exception; { :L6 .. :L7 } :L28
.catch Lcom/immersion/hapticmediasdk/models/NotEnoughHapticBytesAvailableException; { :L8 .. :L13 } :L15
.catch Ljava/io/IOException; { :L8 .. :L13 } :L26
.catch Ljava/lang/Exception; { :L8 .. :L13 } :L19
.catch Ljava/lang/Exception; { :L13 .. :L14 } :L20
.catch Ljava/lang/Exception; { :L16 .. :L17 } :L28
.catch Ljava/lang/Exception; { :L17 .. :L18 } :L19
.catch Ljava/lang/Exception; { :L21 .. :L22 } :L28
.catch Ljava/lang/Exception; { :L23 .. :L24 } :L19
.catch Ljava/lang/Exception; { :L24 .. :L27 } :L28
.registers 7
const/4 v1, 1
const/4 v0, 0
const/4 v2, -1
:L0
invoke-direct { p0 }, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->a()Z
move-result v3
if-nez v3, :L2
:L1
return v0
:L2
invoke-direct { p0, p1 }, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->b(I)I
move-result v3
iget-object v4, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d:Lrrrrrr/ccrrrr;
if-eqz v4, :L4
iget-object v4, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d:Lrrrrrr/ccrrrr;
invoke-static { v4, v3 }, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d(Lrrrrrr/ccrrrr;I)Z
:L3
move-result v4
if-eqz v4, :L21
:L4
iget-object v4, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->e:Lrrrrrr/ccrrrr;
if-eqz v4, :L6
iget-object v4, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->e:Lrrrrrr/ccrrrr;
invoke-static { v4, v3 }, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d(Lrrrrrr/ccrrrr;I)Z
move-result v4
if-nez v4, :L6
iget-object v4, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->e:Lrrrrrr/ccrrrr;
invoke-static { v4, v3 }, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->e(Lrrrrrr/ccrrrr;I)Z
:L5
move-result v4
if-eqz v4, :L12
:L6
iget-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d:Lrrrrrr/ccrrrr;
if-eqz v2, :L8
iget-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d:Lrrrrrr/ccrrrr;
iget v2, v2, Lrrrrrr/ccrrrr;->mHapticDataOffset:I
:L7
if-eq v2, v3, :L9
:L8
invoke-direct { p0, v3 }, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d(I)Lrrrrrr/ccrrrr;
move-result-object v2
iput-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d:Lrrrrrr/ccrrrr;
:L9
iget-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->e:Lrrrrrr/ccrrrr;
if-eqz v2, :L10
iget-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->e:Lrrrrrr/ccrrrr;
iget v2, v2, Lrrrrrr/ccrrrr;->mHapticDataOffset:I
add-int/lit16 v4, v3, 4096
if-eq v2, v4, :L11
:L10
add-int/lit16 v2, v3, 4096
invoke-direct { p0, v2 }, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d(I)Lrrrrrr/ccrrrr;
move-result-object v2
iput-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->e:Lrrrrrr/ccrrrr;
:L11
move v0, v1
goto :L1
:L12
invoke-direct { p0 }, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->c()V
:L13
new-array v0, v2, [I
:L14
goto :L13
:L15
move-exception v1
:L16
const-string v2, "MemoryMappedFileReader"
:L17
invoke-virtual { v1 }, Lcom/immersion/hapticmediasdk/models/NotEnoughHapticBytesAvailableException;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-static { v2, v1 }, Lcom/immersion/hapticmediasdk/utils/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
:L18
goto :L1
:L19
move-exception v0
throw v0
:L20
move-exception v0
const/4 v0, 5
sput v0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->b\u044a044A044A\u044a\u044a\u044a:I
:L21
iget-object v0, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d:Lrrrrrr/ccrrrr;
:L22
if-eqz v0, :L25
:L23
iget-object v0, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d:Lrrrrrr/ccrrrr;
iget-object v0, v0, Lrrrrrr/ccrrrr;->mMappedByteBuffer:Ljava/nio/MappedByteBuffer;
:L24
iget-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->d:Lrrrrrr/ccrrrr;
invoke-direct { p0, v2, v3 }, Lcom/immersion/hapticmediasdk/controllers/MemoryMappedFileReader;->a(Lrrrrrr/ccrrrr;I)I
move-result v2
invoke-virtual { v0, v2 }, Ljava/nio/MappedByteBuffer;->position(I)Ljava/nio/Buffer;
:L25
move v0, v1
goto :L1
:L26
move-exception v1
invoke-virtual { v1 }, Ljava/io/IOException;->printStackTrace()V
:L27
goto :L1
:L28
move-exception v0
throw v0
.end method

================= 10 ===================
Lrrrrrr/rrccrr;.(Lcom/immersion/hapticmediasdk/MediaPlaybackSDK;Ljava/lang/String;)V
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public constructor (Lcom/immersion/hapticmediasdk/MediaPlaybackSDK;Ljava/lang/String;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/net/MalformedURLException;
}
.end annotation
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L11
.catch Ljava/lang/Exception; { :L6 .. :L7 } :L8
.catch Ljava/lang/Exception; { :L9 .. :L10 } :L2
.registers 7
const/4 v3, 1
const/4 v0, 0
const/4 v1, -1
iput-object p1, p0, Lrrrrrr/rrccrr;->b0425\u04250425\u0425\u04250425:Lcom/immersion/hapticmediasdk/MediaPlaybackSDK;
:L0
new-array v2, v1, [I
:L1
goto :L0
:L2
move-exception v0
invoke-direct { p0 }, Ljava/lang/Object;->()V
new-instance v0, Ljava/net/URL;
:L3
packed-switch v3, :L12
:L4
packed-switch v3, :L13
goto :L4
:L5
invoke-direct { v0, p2 }, Ljava/net/URL;->(Ljava/lang/String;)V
iput-object v0, p0, Lrrrrrr/rrccrr;->b:Ljava/net/URL;
return-void
:L6
invoke-virtual { v0 }, Ljava/lang/String;->length()I
:L7
goto :L6
:L8
move-exception v1
:L9
invoke-virtual { v0 }, Ljava/lang/String;->length()I
:L10
goto :L9
:L11
move-exception v1
goto :L6
:L12
.packed-switch 0
:L3
:L5
.end packed-switch
:L13
.packed-switch 0
:L3
:L5
.end packed-switch
.end method

================= 11 ===================
Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;.b0411041104110411ะ‘0411(Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;)Lcom/immersion/content/EndpointWarp;
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public static synthetic b0411041104110411\u04110411(Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;)Lcom/immersion/content/EndpointWarp;
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L6
.catch Ljava/lang/Exception; { :L7 .. :L8 } :L2
.registers 5
const/4 v3, 0
const/4 v1, -1
const/4 v0, 4
const/4 v2, 0
:L0
div-int/2addr v0, v2
:L1
goto :L0
:L2
move-exception v0
invoke-static { }, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->b0427\u0427\u0427\u04270427\u0427()I
move-result v0
sput v0, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->b\u0427042704270427\u0427\u0427:I
iget-object v0, p0, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->l:Lcom/immersion/content/EndpointWarp;
:L3
packed-switch v3, :L9
:L4
packed-switch v3, :L10
goto :L4
:L5
return-object v0
:L6
move-exception v0
invoke-static { }, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->b0427\u0427\u0427\u04270427\u0427()I
move-result v0
sput v0, Lcom/immersion/hapticmediasdk/controllers/HapticPlaybackThread;->b\u0427042704270427\u0427\u0427:I
:L7
new-array v0, v1, [I
:L8
goto :L7
:L9
.packed-switch 0
:L5
:L3
.end packed-switch
:L10
.packed-switch 0
:L5
:L3
.end packed-switch
.end method

================= 12 ===================
Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;.c()V
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method private c()V
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/immersion/hapticmediasdk/models/NotEnoughHapticBytesAvailableException;,
Ljava/io/IOException;
}
.end annotation
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L9
.catch Ljava/lang/Exception; { :L2 .. :L3 } :L11
.catch Ljava/lang/Exception; { :L4 .. :L5 } :L9
.catch Ljava/lang/Exception; { :L5 .. :L6 } :L10
.catch Ljava/lang/Exception; { :L7 .. :L8 } :L9
.catch Ljava/lang/Exception; { :L12 .. :L13 } :L14
.catch Ljava/lang/Exception; { :L15 .. :L16 } :L17
.registers 4
const/4 v0, 0
const/4 v1, -1
:L0
iget-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->e:Lrrrrrr/rcrcrr;
:L1
if-nez v2, :L4
:L2
new-array v2, v1, [I
:L3
goto :L2
:L4
iget-object v0, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->e:Lrrrrrr/rcrcrr;
iget v0, v0, Lrrrrrr/rcrcrr;->mHapticDataOffset:I
add-int/lit16 v0, v0, 1024
iget-object v1, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->e:Lrrrrrr/rcrcrr;
iput-object v1, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->d:Lrrrrrr/rcrcrr;
:L5
sget v1, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->i:I
div-int/lit8 v1, v1, 2
:L6
sub-int/2addr v0, v1
:L7
invoke-direct { p0, v0 }, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->d(I)Lrrrrrr/rcrcrr;
move-result-object v0
iput-object v0, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->e:Lrrrrrr/rcrcrr;
:L8
return-void
:L9
move-exception v0
throw v0
:L10
move-exception v0
throw v0
:L11
move-exception v2
invoke-static { }, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->b0415\u041504150415\u0415\u0415()I
move-result v2
sput v2, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->b0415\u0415\u04150415\u0415\u0415:I
:L12
invoke-virtual { v0 }, Ljava/lang/String;->length()I
:L13
goto :L12
:L14
move-exception v0
const/16 v0, 39
sput v0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->b0415\u0415\u04150415\u0415\u0415:I
:L15
new-array v0, v1, [I
:L16
goto :L15
:L17
move-exception v0
const/16 v0, 45
sput v0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->b0415\u0415\u04150415\u0415\u0415:I
goto :L8
.end method

================= 13 ===================
Lcom/immersion/hapticmediasdk/models/HapticFileInformation;.getHapticDataStartByteOffset()I
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public getHapticDataStartByteOffset()I
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L2
.catch Ljava/lang/Exception; { :L3 .. :L4 } :L5
.catch Ljava/lang/Exception; { :L6 .. :L7 } :L8
.catch Ljava/lang/Exception; { :L9 .. :L10 } :L11
.registers 4
const/4 v0, -1
const/4 v1, 0
:L0
invoke-virtual { v1 }, Ljava/lang/String;->length()I
:L1
goto :L0
:L2
move-exception v2
const/16 v2, 82
sput v2, Lcom/immersion/hapticmediasdk/models/HapticFileInformation;->b\u04210421\u042104210421\u0421:I
:L3
invoke-virtual { v1 }, Ljava/lang/String;->length()I
:L4
goto :L3
:L5
move-exception v1
invoke-static { }, Lcom/immersion/hapticmediasdk/models/HapticFileInformation;->b04210421042104210421\u0421()I
move-result v1
sput v1, Lcom/immersion/hapticmediasdk/models/HapticFileInformation;->b\u04210421\u042104210421\u0421:I
:L6
new-array v1, v0, [I
:L7
goto :L6
:L8
move-exception v0
invoke-static { }, Lcom/immersion/hapticmediasdk/models/HapticFileInformation;->b04210421042104210421\u0421()I
move-result v0
sput v0, Lcom/immersion/hapticmediasdk/models/HapticFileInformation;->b\u04210421\u042104210421\u0421:I
:L9
iget v0, p0, Lcom/immersion/hapticmediasdk/models/HapticFileInformation;->l:I
:L10
return v0
:L11
move-exception v0
throw v0
.end method

================= 14 ===================
Lcom/immersion/content/EndpointWarp;.dispose()V
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public dispose()V
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L2
.catch Ljava/lang/Exception; { :L3 .. :L4 } :L5
.registers 3
const/4 v0, -1
:L0
new-array v1, v0, [I
:L1
goto :L0
:L2
move-exception v0
const/16 v0, 82
sput v0, Lcom/immersion/content/EndpointWarp;->b041504150415\u04150415\u0415:I
:L3
iget-wide v0, p0, Lcom/immersion/content/EndpointWarp;->a:J
invoke-direct { p0, v0, v1 }, Lcom/immersion/content/EndpointWarp;->disposeWarp(J)V
:L4
return-void
:L5
move-exception v0
throw v0
.end method

Dex2jar for multidex.

Hi!

I was trying to decompile multidex apk file with dex2jar 2.0 . The first dex class was decompiled but the later dex files did not get decompiled.
Supposing i have an apk with two dex file while extracting. Classes1.dex and classes2.dex.
Classes1.dex is decompiled successfully. But applying same logic to classes2.dex decompilation is unsuccessful with the below error ;

Detail Error Information in File ./classes2-error.zip
Please report this file to http://code.google.com/p/dex2jar/issues/entry if possible

Why does such a error come ? How can i come it ?

Methods failed to translate

I was trying to decompile an APK generated by App Inventor and was asked to attach the log for 12 files that failed to translate. However, github only allows image files to be attached. Let me know if you would like me to post them somewhere else.

queries with dex2jar2.0

Dear Mr.Bob Pan,
Greeting !!!
I would like to thank you for all for your previous version of dex2jar, especially 0.0.9.15. It has been very powerful supportive tool for me in decompiling .
I am student research scholar , I have automated apk decompilation using java code. I wanted to upgrade my work with dex2jar 2.0 to decompile recent apks . I wanted make use of d2j-asm-verify.sh and d2j-apk-sign.sh . But is not available.

Can you please let me know if any other .sh file has these with functionalities integrated in dex2jar2.0???

Thanks for your time in advance.

d2j-jasmin2jar: "no viable alternative at input ..."

During the process of converting an APK file to a JAR file, the JAR file to Jasmin, when reverting back from Jasmin to a JAR file, using d2j-jasmin2jar v2.0, a "no viable alternative at input 'areturn'" error is generated. The same result is obtained with different APK files.

Input file:
file.apk

Steps:
d2j-dex2jar -f -o file-dex2jar.jar file.apk
d2j-jar2jasmin.sh -f -o file-dir file-dex2jar.jar
d2j-jasmin2jar.sh -f -o file-edited.jar file-dir

Error:
$ d2j-jasmin2jar.sh -f -o color-edited.jar color-dir
assemble /sample/Color/color-dir -> color-edited.jar
/sample/Color/color-dir/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoIcsImpl.j line 28:2 mismatched input ':' expecting '.end method'
/sample/Color/color-dir/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat.j line 92:4 mismatched character '"' expecting '''
/sample/Color/color-dir/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat.j line 93:0 no viable alternative at input 'areturn'
java.lang.NullPointerException
at com.googlecode.d2j.jasmin.JasminParser.unEscape(JasminParser.java:356)
at com.googlecode.d2j.jasmin.JasminParser.sField(JasminParser.java:5672)
at com.googlecode.d2j.jasmin.JasminParser.sFile(JasminParser.java:1062)
at com.googlecode.d2j.jasmin.JasminParser.parse(JasminParser.java:961)
at com.googlecode.d2j.jasmin.Jasmin2JarCmd.assemble1(Jasmin2JarCmd.java:130)
at com.googlecode.d2j.jasmin.Jasmin2JarCmd.access$0(Jasmin2JarCmd.java:121)
at com.googlecode.d2j.jasmin.Jasmin2JarCmd$1.visitFile(Jasmin2JarCmd.java:114)
at com.googlecode.d2j.jasmin.Jasmin2JarCmd$1.visitFile(Jasmin2JarCmd.java:1)
at java.nio.file.Files.walkFileTree(Files.java:2670)
at java.nio.file.Files.walkFileTree(Files.java:2742)
at com.googlecode.d2j.jasmin.Jasmin2JarCmd.travelFileTree(Jasmin2JarCmd.java:110)
at com.googlecode.d2j.jasmin.Jasmin2JarCmd.assemble0(Jasmin2JarCmd.java:99)
at com.googlecode.d2j.jasmin.Jasmin2JarCmd.doCommandLine(Jasmin2JarCmd.java:92)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.d2j.jasmin.Jasmin2JarCmd.main(Jasmin2JarCmd.java:56)

Sample file: color.apk
https://infotomb.com/so875.zip

Rename "so875.zip" to "color.apk".

Error while using d2j

i got this error log when converting:

There are 2 methods fail to translate.
2015-07-19 16:17:42 UTC
version: [dex-reader-2.0, dex-reader-api-2.0, dex-ir-2.0, d2j-smali-2.0, d2j-base-cmd-2.0, dex-tools-2.0, dex-translator-2.0]
cmdline: [com.bskyb.skynews.android-2.apk]
env:
java.runtime.name: Java(TM) SE Runtime Environment
java.vm.version: 25.25-b02
java.vm.vendor: Oracle Corporation
java.vendor.url: http://java.oracle.com/
java.vm.name: Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name: Java Virtual Machine Specification
java.runtime.version: 1.8.0_25-b17
java.awt.graphicsenv: sun.awt.CGraphicsEnvironment
java.endorsed.dirs: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/endorsed
java.io.tmpdir: /var/folders/08/yl4gpsdx37z627ck_lw7ccb80000gn/T/
java.vm.specification.vendor: Oracle Corporation
java.library.path: /Users/eguttentag/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
java.specification.name: Java Platform API Specification
java.class.version: 52.0
java.awt.printerjob: sun.lwawt.macosx.CPrinterJob
java.specification.version: 1.8
java.class.path: .:../dev/dex2jar-2.0/lib/antlr-runtime-3.5.jar:../dev/dex2jar-2.0/lib/asm-debug-all-4.1.jar:../dev/dex2jar-2.0/lib/d2j-base-cmd-2.0.jar:../dev/dex2jar-2.0/lib/d2j-jasmin-2.0.jar:../dev/dex2jar-2.0/lib/d2j-smali-2.0.jar:../dev/dex2jar-2.0/lib/dex-ir-2.0.jar:../dev/dex2jar-2.0/lib/dex-reader-2.0.jar:../dev/dex2jar-2.0/lib/dex-reader-api-2.0.jar:../dev/dex2jar-2.0/lib/dex-tools-2.0.jar:../dev/dex2jar-2.0/lib/dex-translator-2.0.jar:../dev/dex2jar-2.0/lib/dex-writer-2.0.jar:../dev/dex2jar-2.0/lib/dx-1.7.jar
java.vm.specification.version: 1.8
java.home: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre
java.specification.vendor: Oracle Corporation
java.vm.info: mixed mode
java.version: 1.8.0_25
java.ext.dirs: /Users/eguttentag/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
java.vendor: Oracle Corporation
java.vendor.url.bug: http://bugreport.sun.com/bugreport/

Lcom/inmobi/re/container/a/l;.b()V
java.lang.RuntimeException: can not merge F and I
at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.copyTypes(TypeTransformer.java:311)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.fixTypes(TypeTransformer.java:226)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:207)
at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method public final b()V
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L9
.catchall { :L0 .. :L1 } :L14
.catch Ljava/lang/Exception; { :L2 .. :L3 } :L23
.catchall { :L2 .. :L3 } :L21
.catch Ljava/lang/Exception; { :L3 .. :L4 } :L24
.catchall { :L3 .. :L4 } :L22
.catch Lorg/json/JSONException; { :L5 .. :L6 } :L25
.catchall { :L7 .. :L8 } :L17
.catchall { :L10 .. :L11 } :L22
.catch Lorg/json/JSONException; { :L11 .. :L12 } :L13
.catch Lorg/json/JSONException; { :L15 .. :L16 } :L20
.catchall { :L18 .. :L19 } :L17
.registers 9
const/4 v1, 0
invoke-static { }, Lcom/inmobi/commons/internal/w;->a()V
new-instance v4, Lorg/json/JSONObject;
invoke-direct { v4 }, Lorg/json/JSONObject;->()V
:L0
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
iget-boolean v0, v0, Lcom/inmobi/re/container/IMWebView;->w:Z
if-eqz v0, :L26
const/4 v0, 2
new-array v2, v0, [I
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
invoke-virtual { v0 }, Lcom/inmobi/re/container/IMWebView;->w()Landroid/view/ViewParent;
move-result-object v0
check-cast v0, Landroid/view/View;
invoke-virtual { v0, v2 }, Landroid/view/View;->getLocationOnScreen([I)V
const/4 v0, 0
aget v3, v2, v0
:L1
const/4 v0, 1
:L2
aget v2, v2, v0
:L3
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
invoke-virtual { v0 }, Lcom/inmobi/re/container/IMWebView;->w()Landroid/view/ViewParent;
move-result-object v0
check-cast v0, Landroid/view/View;
invoke-virtual { v0 }, Landroid/view/View;->getWidth()I
move-result v0
int-to-float v0, v0
iget-object v5, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
invoke-virtual { v5 }, Lcom/inmobi/re/container/IMWebView;->f()F
move-result v1
div-float/2addr v0, v1
float-to-int v1, v0
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
invoke-virtual { v0 }, Lcom/inmobi/re/container/IMWebView;->w()Landroid/view/ViewParent;
move-result-object v0
check-cast v0, Landroid/view/View;
invoke-virtual { v0 }, Landroid/view/View;->getHeight()I
move-result v0
int-to-float v0, v0
iget-object v5, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
invoke-virtual { v5 }, Lcom/inmobi/re/container/IMWebView;->f()F
:L4
move-result v5
div-float/2addr v0, v5
float-to-int v0, v0
move v7, v0
move v0, v1
move v1, v7
:L5
const-string v5, "x"
invoke-virtual { v4, v5, v3 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v3, "y"
invoke-virtual { v4, v3, v2 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v2, "width"
invoke-virtual { v4, v2, v0 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v0, "height"
invoke-virtual { v4, v0, v1 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
:L6
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
iget-object v1, v0, Lcom/inmobi/re/container/IMWebView;->r:Ljava/lang/Object;
monitor-enter v1
:L7
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
iput-object v4, v0, Lcom/inmobi/re/container/IMWebView;->x:Lorg/json/JSONObject;
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
iget-object v0, v0, Lcom/inmobi/re/container/IMWebView;->u:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v2, 0
invoke-virtual { v0, v2 }, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
iget-object v0, v0, Lcom/inmobi/re/container/IMWebView;->r:Ljava/lang/Object;
invoke-virtual { v0 }, Ljava/lang/Object;->notifyAll()V
monitor-exit v1
:L8
return-void
:L9
move-exception v0
move v2, v1
move v3, v1
:L10
invoke-virtual { v0 }, Ljava/lang/Exception;->printStackTrace()V
new-instance v5, Ljava/lang/StringBuilder;
const-string v6, "Failed to get default position"
invoke-direct { v5, v6 }, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V
invoke-virtual { v0 }, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual { v5, v0 }, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static { }, Lcom/inmobi/commons/internal/w;->a()V
:L11
const-string v0, "x"
invoke-virtual { v4, v0, v3 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v0, "y"
invoke-virtual { v4, v0, v2 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v0, "width"
invoke-virtual { v4, v0, v1 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v0, "height"
const/4 v1, 0
invoke-virtual { v4, v0, v1 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
:L12
goto :L6
:L13
move-exception v0
goto :L6
:L14
move-exception v0
move v2, v1
move v3, v1
:L15
const-string v5, "x"
invoke-virtual { v4, v5, v3 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v3, "y"
invoke-virtual { v4, v3, v2 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v2, "width"
invoke-virtual { v4, v2, v1 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v1, "height"
const/4 v2, 0
invoke-virtual { v4, v1, v2 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
:L16
throw v0
:L17
move-exception v0
:L18
monitor-exit v1
:L19
throw v0
:L20
move-exception v1
goto :L16
:L21
move-exception v0
move v2, v1
goto :L15
:L22
move-exception v0
goto :L15
:L23
move-exception v0
move v2, v1
goto :L10
:L24
move-exception v0
goto :L10
:L25
move-exception v0
goto :L6
:L26
move v0, v1
move v2, v1
move v3, v1
goto/16 :L5
.end method

Lcom/inmobi/re/container/a/l;.a()V
java.lang.RuntimeException: can not merge F and I
at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.copyTypes(TypeTransformer.java:311)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.fixTypes(TypeTransformer.java:226)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:207)
at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method public final a()V
.catch Ljava/lang/Exception; { :L0 .. :L1 } :L9
.catchall { :L0 .. :L1 } :L14
.catch Ljava/lang/Exception; { :L2 .. :L3 } :L23
.catchall { :L2 .. :L3 } :L21
.catch Ljava/lang/Exception; { :L3 .. :L4 } :L24
.catchall { :L3 .. :L4 } :L22
.catch Lorg/json/JSONException; { :L5 .. :L6 } :L25
.catchall { :L7 .. :L8 } :L17
.catchall { :L10 .. :L11 } :L22
.catch Lorg/json/JSONException; { :L11 .. :L12 } :L13
.catch Lorg/json/JSONException; { :L15 .. :L16 } :L20
.catchall { :L18 .. :L19 } :L17
.registers 8
const/4 v0, 0
invoke-static { }, Lcom/inmobi/commons/internal/w;->a()V
new-instance v4, Lorg/json/JSONObject;
invoke-direct { v4 }, Lorg/json/JSONObject;->()V
:L0
iget-object v1, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
iget-boolean v1, v1, Lcom/inmobi/re/container/IMWebView;->w:Z
if-eqz v1, :L26
const/4 v1, 2
new-array v1, v1, [I
iget-object v2, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
invoke-virtual { v2, v1 }, Lcom/inmobi/re/container/IMWebView;->getLocationOnScreen([I)V
const/4 v2, 0
aget v2, v1, v2
:L1
const/4 v3, 1
:L2
aget v1, v1, v3
:L3
iget-object v3, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
invoke-virtual { v3 }, Lcom/inmobi/re/container/IMWebView;->getWidth()I
move-result v3
int-to-float v3, v3
iget-object v5, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
invoke-virtual { v5 }, Lcom/inmobi/re/container/IMWebView;->f()F
move-result v0
div-float v0, v3, v0
float-to-int v0, v0
iget-object v3, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
invoke-virtual { v3 }, Lcom/inmobi/re/container/IMWebView;->getHeight()I
move-result v3
int-to-float v3, v3
iget-object v5, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
invoke-virtual { v5 }, Lcom/inmobi/re/container/IMWebView;->f()F
:L4
move-result v5
div-float/2addr v3, v5
float-to-int v3, v3
move v6, v3
move v3, v2
move v2, v1
move v1, v0
move v0, v6
:L5
const-string v5, "x"
invoke-virtual { v4, v5, v3 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v3, "y"
invoke-virtual { v4, v3, v2 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v2, "width"
invoke-virtual { v4, v2, v1 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v1, "height"
invoke-virtual { v4, v1, v0 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
:L6
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
iget-object v1, v0, Lcom/inmobi/re/container/IMWebView;->q:Ljava/lang/Object;
monitor-enter v1
:L7
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
iput-object v4, v0, Lcom/inmobi/re/container/IMWebView;->d:Lorg/json/JSONObject;
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
iget-object v0, v0, Lcom/inmobi/re/container/IMWebView;->t:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v2, 0
invoke-virtual { v0, v2 }, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
iget-object v0, p0, Lcom/inmobi/re/container/a/l;->a:Lcom/inmobi/re/container/IMWebView;
iget-object v0, v0, Lcom/inmobi/re/container/IMWebView;->q:Ljava/lang/Object;
invoke-virtual { v0 }, Ljava/lang/Object;->notifyAll()V
monitor-exit v1
:L8
return-void
:L9
move-exception v1
move v1, v0
move v2, v0
:L10
invoke-static { }, Lcom/inmobi/commons/internal/w;->a()V
:L11
const-string v3, "x"
invoke-virtual { v4, v3, v2 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v2, "y"
invoke-virtual { v4, v2, v1 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v1, "width"
invoke-virtual { v4, v1, v0 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v0, "height"
const/4 v1, 0
invoke-virtual { v4, v0, v1 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
:L12
goto :L6
:L13
move-exception v0
goto :L6
:L14
move-exception v1
move v2, v0
move v3, v0
move-object v6, v1
move v1, v0
move-object v0, v6
:L15
const-string v5, "x"
invoke-virtual { v4, v5, v3 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v3, "y"
invoke-virtual { v4, v3, v2 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v2, "width"
invoke-virtual { v4, v2, v1 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v1, "height"
const/4 v2, 0
invoke-virtual { v4, v1, v2 }, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
:L16
throw v0
:L17
move-exception v0
:L18
monitor-exit v1
:L19
throw v0
:L20
move-exception v1
goto :L16
:L21
move-exception v1
move v3, v2
move v2, v0
move v6, v0
move-object v0, v1
move v1, v6
goto :L15
:L22
move-exception v3
move-object v6, v3
move v3, v2
move v2, v1
move v1, v0
move-object v0, v6
goto :L15
:L23
move-exception v1
move v1, v0
goto :L10
:L24
move-exception v3
goto :L10
:L25
move-exception v0
goto :L6
:L26
move v1, v0
move v2, v0
move v3, v0
goto/16 :L5
.end method

register maybe used before calling its constructor

use of an allocated but uninitialized register, cause dex2jar NPE

The stacktrace

java.lang.RuntimeException: fail exe a6 = a5
    at com.googlecode.dex2jar.ir.ts.an.BaseAnalyze.exec(BaseAnalyze.java:92)
    ...
    at com.googlecode.dex2jar.ir.ts.UnSSATransformer.transform(UnSSATransformer.java:274)
    ...
Caused by: java.lang.NullPointerException
    at com.googlecode.dex2jar.ir.ts.UnSSATransformer$LiveA.onUseLocal(UnSSATransformer.java:552)
    at com.googlecode.dex2jar.ir.ts.UnSSATransformer$LiveA.onUseLocal(UnSSATransformer.java:1)
    at com.googlecode.dex2jar.ir.ts.an.BaseAnalyze.onUse(BaseAnalyze.java:166)
    at com.googlecode.dex2jar.ir.ts.an.BaseAnalyze.onUse(BaseAnalyze.java:1)
    at com.googlecode.dex2jar.ir.ts.Cfg.travel(Cfg.java:331)
    at com.googlecode.dex2jar.ir.ts.Cfg.travel(Cfg.java:387)
    at com.googlecode.dex2jar.ir.ts.an.BaseAnalyze.exec(BaseAnalyze.java:90)
    ... 17 more

The test case

.method public indentArraysWith(LIndenter;)Ljava/lang/Object;
  .registers 8
    move-object v1, p1
    move-object v3, v1
    if-nez v3, :L1
    new-instance v3, LNopIndenter;
    move-object v5, v3  #### use before init
    move-object v3, v5
    move-object v4, v5
    invoke-direct { v4 }, LNopIndenter;-><init>()V
  :L0
    return-object v3
  :L1
    move-object v3, v1
    goto :L0
.end method

d2j-smali : no viable alternative at input ':'

If a field is named as some special word, e.g. 'constructor', as the following shows

.field private final constructor:Lcom/google/mygson/internal/ObjectConstructor;

The small parser would complain as the title shows.

I think there should be some bug in the ANTLR rule 'sField', and perhaps other rules quote rule 'sAccList' are also the same.

sField : '.field' acc=sAccList (f=sFieldF|f=sFieldP) ('=' v=sFieldValue)?
(sAnnotation*
'.end field')?
;

As in the above-mentioned case, the token 'constructor' will be matched as a ACC because rule 'sAccList' is greedy and it will not go into the following rule to be matched as a field name.

I'm a newbie to ANTLR. It seems Apktool use the same rule to parse a field declaration, but it's surprising it works fine. And I also tried to change rule 'sAccList' into a nongreedy rule, but I failed.

I'm sorry I'm also a newbie to Github and I even don't know how to highlight the code snippet.
I hope the information above could help you!

java.lang.RuntimeException: Method code too large!

Lorg/hermit/astro/Vsop87;.()V
java.lang.RuntimeException: Method code too large!
at org.objectweb.asm.MethodWriter.getSize(MethodWriter.java:1872)
at org.objectweb.asm.AsmBridge.sizeOfMethodWriter(AsmBridge.java:28)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:55)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method static constructor ()V
.registers 10
const/4 v9, 4
const/4 v8, 2
const/4 v7, 1
const/4 v6, 0
const/4 v5, 3
const/4 v0, 6
new-array v0, v0, [[[D
const/16 v1, 38
new-array v1, v1, [[D
new-array v2, v5, [D
fill-array-data v2, :L0
aput-object v2, v1, v6
new-array v2, v5, [D
fill-array-data v2, :L1
aput-object v2, v1, v7
new-array v2, v5, [D
fill-array-data v2, :L2
aput-object v2, v1, v8 ................................

I am Use...
Dex2Jar 2.0
Java 1.7

Please fix d2j-decrypt-string

Hello, I'm skypeaful. I'm new developer. I found Dex2jar decryptstring is very good tool for decrypt encode strings in .class but It's have a bug. It cann't decrypt strings in extend class.
For example:
d2j-decrypt-string.sh -mo test.Decrypt -mn dec testing.jar

test.Decrypt.class

public final class Decrypt extend aa {
    public static String a = Decrypt.dec("1233asdxcdjdn");
}

aa.class

public final class aa extend ab { }

ab.class

public final class ab {
    public static String dec(String a) {
        // Some code
    }
}

When I run command above, the strings aren't decrypted. Please help me make a fix for this issue.
Thank in advance.

Deobfuscation

Is the removal of deobfuscation temporary or permanent? Wiki page says it's outdated, in code it's commented out

20 methods fail to translate

There are 20 methods fail to translate.
2015-08-23 17:47:05 UTC
version: [dex-reader-2.0, dex-reader-api-2.0, dex-ir-2.0, d2j-smali-2.0, d2j-base-cmd-2.0, dex-tools-2.0, dex-translator-2.0]
cmdline: []
env:
java.runtime.name: Java(TM) SE Runtime Environment
java.vm.version: 24.65-b04
java.vm.vendor: Oracle Corporation
java.vendor.url: http://java.oracle.com/
java.vm.name: Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name: Java Virtual Machine Specification
java.runtime.version: 1.7.0_65-b19
java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs: C:\Program Files\Java\jdk1.7.0_65\jre\lib\endorsed
java.io.tmpdir: C:\Users\HONGZH~1\AppData\Local\Temp
java.vm.specification.vendor: Oracle Corporation
java.library.path: C:\Program Files\Java\jdk1.7.0_65\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Java\jdk1.7.0_65\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\TortoiseSVN\bin;C:\Program Files\TortoiseGit\bin;D:\apache-maven-3.2.2\bin;D:\android-sdks\tools;C:\Program Files\Common Files\Lenovo;C:\Program Files (x86)\Skype\Phone;D:\gradle-2.6\bin;C:\Program Files (x86)\SSH Communications Security\SSH Secure Shell;.
java.specification.name: Java Platform API Specification
java.class.version: 51.0
java.awt.printerjob: sun.awt.windows.WPrinterJob
java.specification.version: 1.7
java.class.path: E:\Android\tools\dex2jar-2.0\lib\antlr-runtime-3.5.jar;E:\Android\tools\dex2jar-2.0\lib\asm-debug-all-4.1.jar;E:\Android\tools\dex2jar-2.0\lib\d2j-base-cmd-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\d2j-jasmin-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\d2j-smali-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-ir-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-reader-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-reader-api-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-tools-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-translator-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-writer-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dx-1.7.jar;
java.vm.specification.version: 1.7
java.home: C:\Program Files\Java\jdk1.7.0_65\jre
java.specification.vendor: Oracle Corporation
java.vm.info: mixed mode
java.version: 1.7.0_65
java.ext.dirs: C:\Program Files\Java\jdk1.7.0_65\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
java.vendor: Oracle Corporation
java.vendor.url.bug: http://bugreport.sun.com/bugreport/

d2j-predict: auto clean up the string encryption and reflection by d3xguard

the d2j-decrypt-string.sh can decrypt the d3xguard's earlier static String decrypt(III) style string encryption.

but the later version of d3xguard generate with a more complex pattern. and combine with the java reflection, the code looks like shit.

static byte[] array= { ... };
void amethod(){
    //...
    String str = decrypt(array[5] ^ 3, 5, 3);
    //...
}

Error on reading Annotation of class, caused by java.lang.NullPointerException

In File DexAnnotationNode.java, Line 125:
public void accept(DexAnnotationAble av) {
DexAnnotationVisitor av1 = av.visitAnnotation(type, visibility);
if (av != null) { -----> should be av1 !=null ?
for (Item item : items) {
acceptAnnotationItem(av1, item.name, item.value);
}
av1.visitEnd();
}
}

Or it cause Exceptions as follows:
com.googlecode.d2j.DexException: error on reading Annotation of class
at com.googlecode.d2j.reader.DexFileReader.acceptClass(DexFileReader.java:724)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:601)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:565)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:538)
at cn.edu.pku.flowdroid.transformer.ClassPrinter.printDex(ClassPrinter.java:59)
at cn.edu.pku.flowdroid.transformer.ClassPrinter.main(ClassPrinter.java:44)
Caused by: java.lang.NullPointerException
at com.googlecode.d2j.node.DexAnnotationNode.acceptAnnotationItem(DexAnnotationNode.java:110)
at com.googlecode.d2j.node.DexAnnotationNode.accept(DexAnnotationNode.java:129)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_item(DexFileReader.java:812)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_set_item(DexFileReader.java:802)
at com.googlecode.d2j.reader.DexFileReader.acceptClass(DexFileReader.java:722)
... 5 more
Exception in thread "main" com.googlecode.d2j.DexException: Error process class: [180]Lhgr$a;
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:606)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:565)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:538)
at cn.edu.pku.flowdroid.transformer.ClassPrinter.printDex(ClassPrinter.java:59)
at cn.edu.pku.flowdroid.transformer.ClassPrinter.main(ClassPrinter.java:44)
Caused by: com.googlecode.d2j.DexException: error on reading Annotation of class
at com.googlecode.d2j.reader.DexFileReader.acceptClass(DexFileReader.java:724)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:601)
... 4 more
Caused by: java.lang.NullPointerException
at com.googlecode.d2j.node.DexAnnotationNode.acceptAnnotationItem(DexAnnotationNode.java:110)
at com.googlecode.d2j.node.DexAnnotationNode.accept(DexAnnotationNode.java:129)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_item(DexFileReader.java:812)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_set_item(DexFileReader.java:802)
at com.googlecode.d2j.reader.DexFileReader.acceptClass(DexFileReader.java:722)
... 5 more

Provide binaries as well

Hello,
it would be nice and time saving for your users to also provide the binaries with the release feature of github.
Thanks

about translate debug info

Is the removal of debug info? I cannot translate debug info with 2.1-SNAPSHOT
d2j-dex2jar -d file.apk

20 methods fail to translate

There are 20 methods fail to translate.
2015-08-23 17:47:05 UTC
version: [dex-reader-2.0, dex-reader-api-2.0, dex-ir-2.0, d2j-smali-2.0, d2j-base-cmd-2.0, dex-tools-2.0, dex-translator-2.0]
cmdline: [D:\git-workspace\HDfeel-software-01\android\h_d_v32\build\outputs\apk\h_d_v32-formal-debug\classes.dex]
env:
java.runtime.name: Java(TM) SE Runtime Environment
java.vm.version: 24.65-b04
java.vm.vendor: Oracle Corporation
java.vendor.url: http://java.oracle.com/
java.vm.name: Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name: Java Virtual Machine Specification
java.runtime.version: 1.7.0_65-b19
java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs: C:\Program Files\Java\jdk1.7.0_65\jre\lib\endorsed
java.io.tmpdir: C:\Users\HONGZH~1\AppData\Local\Temp
java.vm.specification.vendor: Oracle Corporation
java.library.path: C:\Program Files\Java\jdk1.7.0_65\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Java\jdk1.7.0_65\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\TortoiseSVN\bin;C:\Program Files\TortoiseGit\bin;D:\apache-maven-3.2.2\bin;D:\android-sdks\tools;C:\Program Files\Common Files\Lenovo;C:\Program Files (x86)\Skype\Phone;D:\gradle-2.6\bin;C:\Program Files (x86)\SSH Communications Security\SSH Secure Shell;.
java.specification.name: Java Platform API Specification
java.class.version: 51.0
java.awt.printerjob: sun.awt.windows.WPrinterJob
java.specification.version: 1.7
java.class.path: E:\Android\tools\dex2jar-2.0\lib\antlr-runtime-3.5.jar;E:\Android\tools\dex2jar-2.0\lib\asm-debug-all-4.1.jar;E:\Android\tools\dex2jar-2.0\lib\d2j-base-cmd-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\d2j-jasmin-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\d2j-smali-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-ir-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-reader-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-reader-api-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-tools-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-translator-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dex-writer-2.0.jar;E:\Android\tools\dex2jar-2.0\lib\dx-1.7.jar;
java.vm.specification.version: 1.7
java.home: C:\Program Files\Java\jdk1.7.0_65\jre
java.specification.vendor: Oracle Corporation
java.vm.info: mixed mode
java.version: 1.7.0_65
java.ext.dirs: C:\Program Files\Java\jdk1.7.0_65\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
java.vendor: Oracle Corporation
java.vendor.url.bug: http://bugreport.sun.com/bugreport/

Jar to dex conversion not working in dex2jar-2.0

Run cmd :
dex2jar-2.0/d2j-jar2dex.sh -f -o /home/workspace/Secure/debug/TestApp/classes.dex /home/workspace/Secure/output/test_TestApp.jar

call com.android.dx.command.Main.main[--dex, --no-strict, --output=/home/lakeba/workspace /home/workspace/Secure/debug/TestApp/classes.dex, /home/workspace/Secure/output/test_TestApp.jar]
no classfiles specified.

Dex2jar as project

Hi there!

I am looking for assistance to download the dex2jar as project. I tried downloading the zip but when imported to work space error are generated stating missing packages.

Please suggest me some possible solution.

Thank you

15 methods fail to translate

Tried with dex2jar2.0 & dex-tools-2.1-20150601.060031-26, both having error when translating apk file to jar file.

There are 15 methods fail to translate.
2015-11-11 06:30:39 UTC
version: [dex-reader-2.0, dex-reader-api-2.0, dex-ir-2.0, d2j-smali-2.0, d2j-base-cmd-2.0, dex-tools-2.0, dex-translator-2.0]
cmdline: [ManyDeals_Release_2015_11_10.apk]
env:
java.runtime.name: Java(TM) SE Runtime Environment
java.vm.version: 25.60-b23
java.vm.vendor: Oracle Corporation
java.vendor.url: http://java.oracle.com/
java.vm.name: Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name: Java Virtual Machine Specification
java.runtime.version: 1.8.0_60-b27
java.awt.graphicsenv: sun.awt.CGraphicsEnvironment
java.endorsed.dirs: /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/endorsed
java.io.tmpdir: /var/folders/mk/k3gtj_9128l39k_pkm3qcn_h0000gq/T/
java.vm.specification.vendor: Oracle Corporation
java.library.path: /Users/andyleung/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
java.specification.name: Java Platform API Specification
java.class.version: 52.0
java.awt.printerjob: sun.lwawt.macosx.CPrinterJob
java.specification.version: 1.8
java.class.path: .:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/antlr-runtime-3.5.jar:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/asm-debug-all-4.1.jar:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/d2j-base-cmd-2.0.jar:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/d2j-jasmin-2.0.jar:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/d2j-smali-2.0.jar:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/dex-ir-2.0.jar:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/dex-reader-2.0.jar:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/dex-reader-api-2.0.jar:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/dex-tools-2.0.jar:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/dex-translator-2.0.jar:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/dex-writer-2.0.jar:/usr/local/bin/../Cellar/dex2jar/2.0/bin/../libexec/lib/dx-1.7.jar
java.vm.specification.version: 1.8
java.home: /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre
java.specification.vendor: Oracle Corporation
java.vm.info: mixed mode
java.version: 1.8.0_60
java.ext.dirs: /Users/andyleung/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
java.vendor: Oracle Corporation
java.vendor.url.bug: http://bugreport.sun.com/bugreport/

m-0.txt
m-1.txt
m-2.txt
m-3.txt
m-4.txt
m-5.txt
m-6.txt
m-7.txt
m-8.txt
m-9.txt
m-10.txt
m-11.txt
m-12.txt
m-13.txt
m-14.txt
summary.txt

AsmVerify - Issue java.lang.IllegalArgumentException.

Any one Plz help me

java.lang.IllegalArgumentException: Landroid/support/a/g/f<TK;TV;>.android/support/a/g/h;: ';' expected at index 38
at org.objectweb.asm.util.CheckMethodAdapter.checkChar(CheckMethodAdapter.java:1413)
at org.objectweb.asm.util.CheckMethodAdapter.checkClassTypeSignature(CheckMethodAdapter.java:1295)
at org.objectweb.asm.util.CheckMethodAdapter.checkFieldTypeSignature(CheckMethodAdapter.java:1260)
at org.objectweb.asm.util.CheckMethodAdapter.checkFieldSignature(CheckMethodAdapter.java:1192)
at org.objectweb.asm.util.CheckClassAdapter.visitField(CheckClassAdapter.java:450)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:669)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:426)
at com.googlecode.dex2jar.tools.AsmVerify$1.handle(AsmVerify.java:126)
at p.rn.util.FileWalker.walk(FileWalker.java:81)
at com.googlecode.dex2jar.tools.AsmVerify.doCommandLine(AsmVerify.java:145)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:169)
at com.googlecode.dex2jar.tools.AsmVerify.main(AsmVerify.java:51)

java.lang.RuntimeException: can not merge I and Z

//////SUMARY
There are 1 methods fail to translate.
2015-05-12 16:40:35 UTC
version: [dex-reader-2.0, dex-reader-api-2.0, dex-ir-2.0, d2j-smali-2.0, d2j-base-cmd-2.0, dex-tools-2.0, dex-translator-2.0]
cmdline: [classes.dex]
env:
java.runtime.name: Java(TM) SE Runtime Environment
java.vm.version: 25.31-b07
java.vm.vendor: Oracle Corporation
java.vendor.url: http://java.oracle.com/
java.vm.name: Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name: Java Virtual Machine Specification
java.runtime.version: 1.8.0_31-b13
java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs: C:\Program Files\Java\jre1.8.0_31\lib\endorsed
java.io.tmpdir: C:\Users--\AppData\Local\Temp
java.vm.specification.vendor: Oracle Corporation
java.library.path: C:\ProgramData\Oracle\Java\javapath;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Microsoft SQL Server\110\Tools\Binn;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0;C:\Program Files\MATLAB\R2014b\runtime\win64;C:\Program Files\MATLAB\R2014b\bin;C:\Program Files (x86)\MiKTeX 2.9\miktex\bin;C:\Program Files (x86)\Java\jre1.8.0_31\bin;.
java.specification.name: Java Platform API Specification
java.class.version: 52.0
java.awt.printerjob: sun.awt.windows.WPrinterJob
java.specification.version: 1.8
java.class.path: C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\antlr-runtime-3.5.jar;C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\asm-debug-all-4.1.jar;C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\d2j-base-cmd-2.0.jar;C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\d2j-jasmin-2.0.jar;C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\d2j-smali-2.0.jar;C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\dex-ir-2.0.jar;C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\dex-reader-2.0.jar;C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\dex-reader-api-2.0.jar;C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\dex-tools-2.0.jar;C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\dex-translator-2.0.jar;C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\dex-writer-2.0.jar;C:\Users--\AppData\Local\Android\sdk1\platform-tools\dex2jar-2.0\lib\dx-1.7.jar;
java.vm.specification.version: 1.8
java.home: C:\Program Files\Java\jre1.8.0_31
java.specification.vendor: Oracle Corporation
java.vm.info: mixed mode
java.version: 1.8.0_31
java.ext.dirs: C:\Program Files\Java\jre1.8.0_31\lib\ext;C:\Windows\Sun\Java\lib\ext
java.vendor: Oracle Corporation
java.vendor.url.bug: http://bugreport.sun.com/bugreport/

////// M-0
Landroid/preference/MultiSelectListPreference$1;.onClick(Landroid/content/DialogInterface;IZ)V
java.lang.RuntimeException: can not merge I and Z
at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.provideAs(TypeTransformer.java:780)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.enexpr(TypeTransformer.java:659)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:719)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:703)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.enexpr(TypeTransformer.java:698)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:719)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:703)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.s1stmt(TypeTransformer.java:810)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.sxStmt(TypeTransformer.java:840)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:206)
at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method public onClick(Landroid/content/DialogInterface;IZ)V
.registers 7
if-eqz p3, :L1
iget-object v0, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
iget-object v1, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
invoke-static { v1 }, Landroid/preference/MultiSelectListPreference;->access$200(Landroid/preference/MultiSelectListPreference;)Ljava/util/Set;
move-result-object v1
iget-object v2, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
invoke-static { v2 }, Landroid/preference/MultiSelectListPreference;->access$100(Landroid/preference/MultiSelectListPreference;)[Ljava/lang/CharSequence;
move-result-object v2
aget-object v2, v2, p2
invoke-virtual { v2 }, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface { v1, v2 }, Ljava/util/Set;->add(Ljava/lang/Object;)Z
move-result v1
invoke-static { v0, v1 }, Landroid/preference/MultiSelectListPreference;->access$076(Landroid/preference/MultiSelectListPreference;I)Z
:L0
return-void
:L1
iget-object v0, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
iget-object v1, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
invoke-static { v1 }, Landroid/preference/MultiSelectListPreference;->access$200(Landroid/preference/MultiSelectListPreference;)Ljava/util/Set;
move-result-object v1
iget-object v2, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
invoke-static { v2 }, Landroid/preference/MultiSelectListPreference;->access$100(Landroid/preference/MultiSelectListPreference;)[Ljava/lang/CharSequence;
move-result-object v2
aget-object v2, v2, p2
invoke-virtual { v2 }, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface { v1, v2 }, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
move-result v1
invoke-static { v0, v1 }, Landroid/preference/MultiSelectListPreference;->access$076(Landroid/preference/MultiSelectListPreference;I)Z
goto :L0
.end method

Error report when using dex2jar

Files from classes-error.zip:

Summary.txt:

There are 8 methods fail to translate.
2015-09-11 18:28:58 UTC
version: [dex-reader-2.0, dex-reader-api-2.0, dex-ir-2.0, d2j-smali-2.0, d2j-base-cmd-2.0, dex-tools-2.0, dex-translator-2.0]
cmdline: [classes.dex, --force]
env:
java.runtime.name: Java(TM) SE Runtime Environment
java.vm.version: 25.60-b23
java.vm.vendor: Oracle Corporation
java.vendor.url: http://java.oracle.com/
java.vm.name: Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name: Java Virtual Machine Specification
java.runtime.version: 1.8.0_60-b27
java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs: C:\Program Files\Java\jre1.8.0_60\lib\endorsed
java.io.tmpdir: C:\Users\Daniel\AppData\Local\Temp
java.vm.specification.vendor: Oracle Corporation
java.library.path: C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client;C:\Program Files\Intel\iCLS Client;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;C:\Program Files\Java\jdk1.7.0_45\bin;C:\Program Files\Java\jdk1.8.0_45\bin;C:\Users\Daniel\Dev\adt-bundle-windows-x86_64-20131030\eclipse\plugins\org.apache.ant_1.8.3.v201301120609\bin;C:\Users\Daniel\Dev\adt-bundle-windows-x86_64-20131030\sdk\tools;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\DTS\Binn;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Java\jdk1.8.0_45;C:\Users\Daniel\StudioProjects\Kopa_gard_v2.0;.
java.specification.name: Java Platform API Specification
java.class.version: 52.0
java.awt.printerjob: sun.awt.windows.WPrinterJob
java.specification.version: 1.8
java.class.path: D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\antlr-runtime-3.5.jar;D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\asm-debug-all-4.1.jar;D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\d2j-base-cmd-2.0.jar;D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\d2j-jasmin-2.0.jar;D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\d2j-smali-2.0.jar;D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\dex-ir-2.0.jar;D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\dex-reader-2.0.jar;D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\dex-reader-api-2.0.jar;D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\dex-tools-2.0.jar;D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\dex-translator-2.0.jar;D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\dex-writer-2.0.jar;D:\Android\TEMP\Android\dex2jar\dex2jar-2.0\lib\dx-1.7.jar;
java.vm.specification.version: 1.8
java.home: C:\Program Files\Java\jre1.8.0_60
java.specification.vendor: Oracle Corporation
java.vm.info: mixed mode
java.version: 1.8.0_60
java.ext.dirs: C:\Program Files\Java\jre1.8.0_60\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
java.vendor: Oracle Corporation
java.vendor.url.bug: http://bugreport.sun.com/bugreport/

m-0.txt:

Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$PackageManager;.()V
java.lang.RuntimeException: can not merge I and L
at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.useAs(TypeTransformer.java:868)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.e1expr(TypeTransformer.java:501)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:713)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:703)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.s2stmt(TypeTransformer.java:820)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.sxStmt(TypeTransformer.java:843)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:206)
at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method static constructor ()V
.catch Ljava/lang/NoSuchFieldException; { :L1 .. :L2 } :L6
.catch Ljava/lang/IllegalArgumentException; { :L1 .. :L2 } :L5
.catch Ljava/lang/IllegalAccessException; { :L1 .. :L2 } :L4
.registers 7
const/16 v4, 9
new-array v4, v4, [Ljava/lang/String;
const/4 v5, 0
const-string v6, "FEATURE_MULTIWINDOW"
aput-object v6, v4, v5
const/4 v5, 1
const-string v6, "FEATURE_MULTIWINDOW_FREESTYLE"
aput-object v6, v4, v5
const/4 v5, 2
const-string v6, "FEATURE_MULTIWINDOW_MINIMIZE"
aput-object v6, v4, v5
const/4 v5, 3
const-string v6, "FEATURE_MULTIWINDOW_QUADVIEW"
aput-object v6, v4, v5
const/4 v5, 4
const-string v6, "FEATURE_MULTIWINDOW_MULTIINSTANCE"
aput-object v6, v4, v5
const/4 v5, 5
const-string v6, "FEATURE_MULTIWINDOW_FREESTYLE_DOCKING"
aput-object v6, v4, v5
const/4 v5, 6
const-string v6, "FEATURE_MULTIWINDOW_FREESTYLE_LAUNCH"
aput-object v6, v4, v5
const/4 v5, 7
const-string v6, "FEATURE_MULTIWINDOW_PHONE"
aput-object v6, v4, v5
const/16 v5, 8
const-string v6, "FEATURE_MULTIWINDOW_TABLET"
aput-object v6, v4, v5
sput-object v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$PackageManager;->FIELD_NAMES:[Ljava/lang/String;
sget-object v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$PackageManager;->FIELD_NAMES:[Ljava/lang/String;
array-length v0, v4
const/4 v2, 0
:L0
if-ge v2, v0, :L3
:L1
const-class v4, Landroid/content/pm/PackageManager;
sget-object v5, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$PackageManager;->FIELD_NAMES:[Ljava/lang/String;
aget-object v5, v5, v2
nop
iget-object v0, v0, Landroid/support/v4/util/SimpleArrayMap;->CACHE_SIZE:I
const-class v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$PackageManager;
sget-object v5, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$PackageManager;->FIELD_NAMES:[Ljava/lang/String;
aget-object v5, v5, v2
nop
iget-object v0, v0, Landroid/support/v4/app/FragmentActivity;->mContainer:Landroid/support/v4/app/FragmentContainer;
nop
nop
return-object v4
:L2
add-int/lit8 v2, v2, 1
goto :L0
:L3
return-void
:L4
move-exception v4
goto :L2
:L5
move-exception v4
goto :L2
:L6
move-exception v4
goto :L2
.end method

m-1.txt:

Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$Intent;.()V
java.lang.RuntimeException: can not merge I and L
at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.useAs(TypeTransformer.java:868)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.e1expr(TypeTransformer.java:501)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:713)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:703)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.s2stmt(TypeTransformer.java:820)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.sxStmt(TypeTransformer.java:843)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:206)
at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method static constructor ()V
.catch Ljava/lang/NoSuchFieldException; { :L1 .. :L2 } :L6
.catch Ljava/lang/IllegalArgumentException; { :L1 .. :L2 } :L5
.catch Ljava/lang/IllegalAccessException; { :L1 .. :L2 } :L4
.registers 7
const/4 v4, 4
new-array v4, v4, [Ljava/lang/String;
const/4 v5, 0
const-string v6, "EXTRA_WINDOW_MODE"
aput-object v6, v4, v5
const/4 v5, 1
const-string v6, "EXTRA_WINDOW_POSITION"
aput-object v6, v4, v5
const/4 v5, 2
const-string v6, "EXTRA_WINDOW_DEFAULT_SIZE"
aput-object v6, v4, v5
const/4 v5, 3
const-string v6, "EXTRA_WINDOW_LAST_SIZE"
aput-object v6, v4, v5
sput-object v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$Intent;->FIELD_NAMES:[Ljava/lang/String;
sget-object v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$Intent;->FIELD_NAMES:[Ljava/lang/String;
array-length v0, v4
const/4 v2, 0
:L0
if-ge v2, v0, :L3
:L1
const-class v4, Landroid/content/Intent;
sget-object v5, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$Intent;->FIELD_NAMES:[Ljava/lang/String;
aget-object v5, v5, v2
nop
iget-object v0, v0, Landroid/support/v4/util/SimpleArrayMap;->CACHE_SIZE:I
const-class v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$Intent;
sget-object v5, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$Intent;->FIELD_NAMES:[Ljava/lang/String;
aget-object v5, v5, v2
nop
iget-object v0, v0, Landroid/support/v4/app/FragmentActivity;->mContainer:Landroid/support/v4/app/FragmentContainer;
nop
nop
return-object v4
:L2
add-int/lit8 v2, v2, 1
goto :L0
:L3
return-void
:L4
move-exception v4
goto :L2
:L5
move-exception v4
goto :L2
:L6
move-exception v4
goto :L2
.end method

m-2.txt:

Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$WindowManagerPolicy;.()V
java.lang.RuntimeException: can not merge I and L
at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.useAs(TypeTransformer.java:868)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.e1expr(TypeTransformer.java:501)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:713)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:703)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.s2stmt(TypeTransformer.java:820)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.sxStmt(TypeTransformer.java:843)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:206)
at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method static constructor ()V
.catch Ljava/lang/NoSuchFieldException; { :L1 .. :L2 } :L6
.catch Ljava/lang/IllegalArgumentException; { :L1 .. :L2 } :L5
.catch Ljava/lang/IllegalAccessException; { :L1 .. :L2 } :L4
.registers 7
const/16 v4, 15
new-array v4, v4, [Ljava/lang/String;
const/4 v5, 0
const-string v6, "WINDOW_MODE_MASK"
aput-object v6, v4, v5
const/4 v5, 1
const-string v6, "WINDOW_MODE_NORMAL"
aput-object v6, v4, v5
const/4 v5, 2
const-string v6, "WINDOW_MODE_FREESTYLE"
aput-object v6, v4, v5
const/4 v5, 3
const-string v6, "WINDOW_MODE_OPTION_COMMON_SCALE"
aput-object v6, v4, v5
const/4 v5, 4
const-string v6, "WINDOW_MODE_OPTION_COMMON_PINUP"
aput-object v6, v4, v5
const/4 v5, 5
const-string v6, "WINDOW_MODE_OPTION_COMMON_MINIMIZED"
aput-object v6, v4, v5
const/4 v5, 6
const-string v6, "WINDOW_MODE_OPTION_SPLIT_ZONE_MASK"
aput-object v6, v4, v5
const/4 v5, 7
const-string v6, "WINDOW_MODE_OPTION_SPLIT_ZONE_A"
aput-object v6, v4, v5
const/16 v5, 8
const-string v6, "WINDOW_MODE_OPTION_SPLIT_ZONE_B"
aput-object v6, v4, v5
const/16 v5, 9
const-string v6, "WINDOW_MODE_OPTION_SPLIT_ZONE_C"
aput-object v6, v4, v5
const/16 v5, 10
const-string v6, "WINDOW_MODE_OPTION_SPLIT_ZONE_D"
aput-object v6, v4, v5
const/16 v5, 11
const-string v6, "WINDOW_MODE_OPTION_SPLIT_ZONE_E"
aput-object v6, v4, v5
const/16 v5, 12
const-string v6, "WINDOW_MODE_OPTION_SPLIT_ZONE_F"
aput-object v6, v4, v5
const/16 v5, 13
const-string v6, "WINDOW_MODE_OPTION_SPLIT_ZONE_UNKNOWN"
aput-object v6, v4, v5
const/16 v5, 14
const-string v6, "WINDOW_MODE_OPTION_COMMON_UNIQUEOP_MASK"
aput-object v6, v4, v5
sput-object v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$WindowManagerPolicy;->FIELD_NAMES:[Ljava/lang/String;
sget-object v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$WindowManagerPolicy;->FIELD_NAMES:[Ljava/lang/String;
array-length v0, v4
const/4 v2, 0
:L0
if-ge v2, v0, :L3
:L1
const-class v4, Landroid/view/WindowManagerPolicy;
sget-object v5, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$WindowManagerPolicy;->FIELD_NAMES:[Ljava/lang/String;
aget-object v5, v5, v2
nop
iget-object v0, v0, Landroid/support/v4/util/SimpleArrayMap;->CACHE_SIZE:I
const-class v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$WindowManagerPolicy;
sget-object v5, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$WindowManagerPolicy;->FIELD_NAMES:[Ljava/lang/String;
aget-object v5, v5, v2
nop
iget-object v0, v0, Landroid/support/v4/app/FragmentActivity;->mContainer:Landroid/support/v4/app/FragmentContainer;
nop
nop
return-object v4
:L2
add-int/lit8 v2, v2, 1
goto :L0
:L3
return-void
:L4
move-exception v4
goto :L2
:L5
move-exception v4
goto :L2
:L6
move-exception v4
goto :L2
.end method

m-3.txt:

Lcom/samsung/everglades/video/myvideo/common/Features;.()V
java.lang.ArrayIndexOutOfBoundsException: 10
at com.googlecode.d2j.dex.Dex2IrAdapter.visitStmt3R(Dex2IrAdapter.java:233)
at com.googlecode.d2j.node.DexCodeNode$11.accept(DexCodeNode.java:214)
at com.googlecode.d2j.dex.Dex2IrAdapter.convert(Dex2IrAdapter.java:920)
at com.googlecode.d2j.dex.Dex2Asm.dex2ir(Dex2Asm.java:522)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:413)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method static constructor ()V
.registers 6
const/4 v2, 1
const/4 v1, 0
invoke-static { }, Lcom/samsung/android/feature/FloatingFeature;->getInstance()Lcom/samsung/android/feature/FloatingFeature;
move-result-object v0
sput-object v0, Lcom/samsung/everglades/video/myvideo/common/Features;->mSFloatingFeature:Lcom/samsung/android/feature/FloatingFeature;
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "klte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L0
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "k3g"
nop
cmpg-double v0, p4, v0
if-nez v0, :L0
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "kqlte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L0
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "kmini"
nop
cmpg-double v0, p4, v0
if-nez v0, :L0
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "m2lte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L0
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "m2a3g"
nop
cmpg-double v0, p4, v0
if-nez v0, :L0
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "m2alte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L0
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "SC-04F"
nop
cmpg-double v0, p4, v0
if-nez v0, :L0
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "SCL23"
nop
cmpg-double v0, p4, v0
if-eqz v0, :L13
:L0
move v0, v2
:L1
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->MODEL_K:Z
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "trhlte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L2
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "trlte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L2
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "trelte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L2
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "tre3g"
nop
cmpg-double v0, p4, v0
if-nez v0, :L2
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "tblte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L2
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "SC-01G"
nop
cmpg-double v0, p4, v0
if-nez v0, :L2
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "SCL24"
nop
cmpg-double v0, p4, v0
if-nez v0, :L2
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "tbelte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L2
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "trhplte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L2
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "tbhplte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L2
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "tr3calte"
nop
cmpg-double v0, p4, v0
if-eqz v0, :L14
:L2
move v0, v2
:L3
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->MODEL_T:Z
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "slte"
nop
cmpg-double v0, p4, v0
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->MODEL_SLTE:Z
const-string v0, "ro.csc.country_code"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "China"
nop
cmpg-double v0, p4, v0
if-nez v0, :L4
const-string v0, "ro.csc.country_code"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "china"
nop
cmpg-double v0, p4, v0
if-nez v0, :L4
const-string v0, "ro.csc.country_code"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "CHINA"
nop
cmpg-double v0, p4, v0
if-eqz v0, :L15
:L4
move v0, v2
:L5
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->CHINA:Z
const-string v0, "ro.csc.sales_code"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "SKC"
nop
cmpg-double v0, p4, v0
if-nez v0, :L6
const-string v0, "ro.csc.sales_code"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "skc"
nop
cmpg-double v0, p4, v0
if-eqz v0, :L16
:L6
move v0, v2
:L7
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->KOR_SKT:Z
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "heatlte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L8
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "heatnfc3g"
nop
cmpg-double v0, p4, v0
if-nez v0, :L8
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "heatkids3g"
nop
cmpg-double v0, p4, v0
if-nez v0, :L8
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "vivaltolte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L8
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "kanas3g"
nop
cmpg-double v0, p4, v0
if-nez v0, :L8
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "ageralte"
nop
cmpg-double v0, p4, v0
if-nez v0, :L8
const-string v0, "ro.product.device"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "victorlte"
nop
cmpg-double v0, p4, v0
if-eqz v0, :L17
:L8
move v0, v2
:L9
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->NO_SUPPORT_TAB:Z
const-string v0, "white"
const-string v3, "ro.build.scafe.cream"
invoke-static { v3 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
nop
cmpg-double v0, p4, v0
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->LIGHT_THEME:Z
const-string v0, "ro.debuggable"
invoke-static { v0, v1 }, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
move-result v0
if-ne v0, v2, :L18
const-string v0, "ro.build.type"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "eng"
nop
cmpg-double v0, p4, v0
if-eqz v0, :L18
move v0, v2
:L10
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->mENGMode:Z
const-string v0, "VEFULL"
sget-object v3, Lcom/samsung/everglades/video/myvideo/common/Features;->mSFloatingFeature:Lcom/samsung/android/feature/FloatingFeature;
const-string v4, "SEC_FLOATING_FEATURE_COMMON_SUPPORT_VIDEO_EDITOR"
const-string v5, "none"
nop
nop
move-result-object v3
nop
cmpg-double v0, p4, v0
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->VIDEO_EDITOR_FULL:Z
const-string v0, "none"
sget-object v3, Lcom/samsung/everglades/video/myvideo/common/Features;->mSFloatingFeature:Lcom/samsung/android/feature/FloatingFeature;
const-string v4, "SEC_FLOATING_FEATURE_COMMON_SUPPORT_VIDEO_EDITOR"
const-string v5, "none"
nop
nop
move-result-object v3
nop
cmpg-double v0, p4, v0
if-nez v0, :L19
move v0, v2
:L11
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->VIDEO_EDITOR:Z
sget-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->MODEL_SLTE:Z
if-nez v0, :L20
:L12
sput-boolean v2, Lcom/samsung/everglades/video/myvideo/common/Features;->FLAG_SUPPORT_SWIPE:Z
sget-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->MODEL_T:Z
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->FLAG_SUPPORT_ANIMATION:Z
sget-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->MODEL_T:Z
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->FLAG_SUPPORT_LARGE_THUMBNAIL:Z
sget-object v0, Lcom/samsung/everglades/video/myvideo/common/Features;->mSFloatingFeature:Lcom/samsung/android/feature/FloatingFeature;
const-string v2, "SEC_FLOATING_FEATURE_FRAMEWORK_SUPPORT_IMAGE_STARTING_WINDOW"
nop
instance-of v1, v0, Landroid/animation/AnimatorListenerAdapter;
sput-boolean v0, Lcom/samsung/everglades/video/myvideo/common/Features;->CAPTURE_IMAGE_FRAMEWORK:Z
sget-object v0, Lcom/samsung/everglades/video/myvideo/common/Features;->mSFloatingFeature:Lcom/samsung/android/feature/FloatingFeature;
const-string v1, "SEC_FLOATING_FEATURE_CONTEXTSERVICE_ENABLE_SURVEY_MODE"
nop
return-wide v0
:L13
move v0, v1
goto/16 :L1
:L14
move v0, v1
goto/16 :L3
:L15
move v0, v1
goto/16 :L5
:L16
move v0, v1
goto/16 :L7
:L17
move v0, v1
goto :L9
:L18
move v0, v1
goto :L10
:L19
move v0, v1
goto :L11
:L20
move v2, v1
goto :L12
.end method

m-4.txt:

Lcom/samsung/everglades/video/myvideo/common/EmojiList;.()V
java.lang.RuntimeException: can not merge V and L
at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.provideAs(TypeTransformer.java:780)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.e0expr(TypeTransformer.java:441)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:710)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:703)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.s1stmt(TypeTransformer.java:810)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.sxStmt(TypeTransformer.java:840)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:206)
at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method static constructor ()V
.registers 2
new-instance v0, Ljava/util/ArrayList;
invoke-direct { v0 }, Ljava/util/ArrayList;->()V
sput-object v0, Lcom/samsung/everglades/video/myvideo/common/EmojiList;->unicodeList:Ljava/util/ArrayList;
sget-object v0, Lcom/samsung/everglades/video/myvideo/common/EmojiList;->unicodeList:Ljava/util/ArrayList;
const-string v1, "0x263a"
nop
return-wide v0
.end method

m-5.txt:

Lcom/samsung/everglades/video/myvideo/common/VZCloudUtils;.()V
java.lang.RuntimeException: can not merge V and L
at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.provideAs(TypeTransformer.java:780)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.e0expr(TypeTransformer.java:450)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:710)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:703)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.s1stmt(TypeTransformer.java:810)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.sxStmt(TypeTransformer.java:840)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:206)
at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method static constructor ()V
.registers 2
const-string v0, "ro.csc.sales_code"
invoke-static { v0 }, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/samsung/everglades/video/myvideo/common/VZCloudUtils;->SALES_CODE:Ljava/lang/String;
const-string v0, "VZW"
sget-object v1, Lcom/samsung/everglades/video/myvideo/common/VZCloudUtils;->SALES_CODE:Ljava/lang/String;
nop
return-wide v0
.end method

m-6.txt:

Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$MultiWindowStyle;.()V
java.lang.RuntimeException: can not merge I and L
at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.useAs(TypeTransformer.java:868)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.e1expr(TypeTransformer.java:501)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:713)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:703)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.s2stmt(TypeTransformer.java:820)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.sxStmt(TypeTransformer.java:843)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:206)
at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method static constructor ()V
.catch Ljava/lang/NoSuchFieldException; { :L1 .. :L2 } :L6
.catch Ljava/lang/IllegalArgumentException; { :L1 .. :L2 } :L5
.catch Ljava/lang/IllegalAccessException; { :L1 .. :L2 } :L4
.registers 7
const/16 v4, 12
new-array v4, v4, [Ljava/lang/String;
const/4 v5, 0
const-string v6, "TYPE_NORMAL"
aput-object v6, v4, v5
const/4 v5, 1
const-string v6, "TYPE_SPLIT"
aput-object v6, v4, v5
const/4 v5, 2
const-string v6, "TYPE_CASCADE"
aput-object v6, v4, v5
const/4 v5, 3
const-string v6, "ZONE_UNKNOWN"
aput-object v6, v4, v5
const/4 v5, 4
const-string v6, "ZONE_A"
aput-object v6, v4, v5
const/4 v5, 5
const-string v6, "ZONE_B"
aput-object v6, v4, v5
const/4 v5, 6
const-string v6, "ZONE_C"
aput-object v6, v4, v5
const/4 v5, 7
const-string v6, "ZONE_D"
aput-object v6, v4, v5
const/16 v5, 8
const-string v6, "ZONE_E"
aput-object v6, v4, v5
const/16 v5, 9
const-string v6, "ZONE_F"
aput-object v6, v4, v5
const/16 v5, 10
const-string v6, "ZONE_FULL"
aput-object v6, v4, v5
const/16 v5, 11
const-string v6, "OPTION_SCALE"
aput-object v6, v4, v5
sput-object v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$MultiWindowStyle;->FIELD_NAMES:[Ljava/lang/String;
sget-object v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$MultiWindowStyle;->FIELD_NAMES:[Ljava/lang/String;
array-length v0, v4
const/4 v2, 0
:L0
if-ge v2, v0, :L3
:L1
const-class v4, Lcom/samsung/android/multiwindow/MultiWindowStyle;
sget-object v5, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$MultiWindowStyle;->FIELD_NAMES:[Ljava/lang/String;
aget-object v5, v5, v2
nop
iget-object v0, v0, Landroid/support/v4/util/SimpleArrayMap;->CACHE_SIZE:I
const-class v4, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$MultiWindowStyle;
sget-object v5, Lcom/samsung/android/sdk/multiwindow/SMultiWindowReflator$MultiWindowStyle;->FIELD_NAMES:[Ljava/lang/String;
aget-object v5, v5, v2
nop
iget-object v0, v0, Landroid/support/v4/app/FragmentActivity;->mContainer:Landroid/support/v4/app/FragmentContainer;
nop
nop
return-object v4
:L2
add-int/lit8 v2, v2, 1
goto :L0
:L3
return-void
:L4
move-exception v4
goto :L2
:L5
move-exception v4
goto :L2
:L6
move-exception v4
goto :L2
.end method

m-7.txt:

Lcom/samsung/everglades/video/myvideo/common/Utils;.()V
java.lang.RuntimeException: can not merge V and L
at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.provideAs(TypeTransformer.java:780)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.e0expr(TypeTransformer.java:450)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:710)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:703)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.s1stmt(TypeTransformer.java:810)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.sxStmt(TypeTransformer.java:840)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:206)
at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method static constructor ()V
.registers 2
const-string v0, "eng"
sget-object v1, Landroid/os/Build;->TYPE:Ljava/lang/String;
nop
return-wide v0
.end method

Recompiling a apk

For my research purpose i have decompiled a apk and converted it into jasmin file.
While recompiling these jasmine files back to jar there occurs a

/test_AudioDemoSec_jasmin/android/annotation/SuppressLint.j line 5:20 mismatched input 'Ljava/lang/annotation/Retention;' expecting set null
/test_AudioDemoSec_jasmin/android/annotation/SuppressLint.j line 6:49 mismatched input '"CLASS"' expecting set null
/test_AudioDemoSec_jasmin/android/annotation/SuppressLint.j line 8:20 mismatched input 'Ljava/lang/annotation/Target;' expecting set null
/test_AudioDemoSec_jasmin/android/annotation/SuppressLint.j line 9:46 required (...)+ loop did not match anything at input '"TYPE"'
STDERR java.lang.NullPointerException
STDERR java.lang.NullPointerException
STDERR at com.googlecode.d2j.jasmin.JasminParser.unEscape(JasminParser.java:356)
STDERR at com.googlecode.d2j.jasmin.JasminParser.sField(JasminParser.java:5672)
STDERR at com.googlecode.d2j.jasmin.JasminParser.sFile(JasminParser.java:1062)
STDERR at com.googlecode.d2j.jasmin.JasminParser.parse(JasminParser.java:961)
STDERR at com.googlecode.d2j.jasmin.Jasmin2JarCmd.assemble1(Jasmin2JarCmd.java:130)
STDERR at com.googlecode.d2j.jasmin.Jasmin2JarCmd.access$0(Jasmin2JarCmd.java:121)
STDERR at com.googlecode.d2j.jasmin.Jasmin2JarCmd$1.visitFile(Jasmin2JarCmd.java:114)
STDERR at com.googlecode.d2j.jasmin.Jasmin2JarCmd$1.visitFile(Jasmin2JarCmd.java:1)
STDERR at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:135)
STDERR at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:199)
STDERR at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:69)
STDERR at java.nio.file.Files.walkFileTree(Files.java:2602)
STDERR at java.nio.file.Files.walkFileTree(Files.java:2635)
STDERR at com.googlecode.d2j.jasmin.Jasmin2JarCmd.travelFileTree(Jasmin2JarCmd.java:110)
STDERR at com.googlecode.d2j.jasmin.Jasmin2JarCmd.assemble0(Jasmin2JarCmd.java:99)
STDERR at com.googlecode.d2j.jasmin.Jasmin2JarCmd.doCommandLine(Jasmin2JarCmd.java:92)
STDERR at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
STDERR at com.googlecode.d2j.jasmin.Jasmin2JarCmd.main(Jasmin2JarCmd.java:56)

Can one please Help me resolve this issue ?

Thanks in advance

Cannot resolve symbol SmaliLexer

When build on 2.x branch, it occurs cannot resolve symbol SmaliLexer on file com.googlecode.d2j.smali.Smali.java.
What is the problem, and how to deal with?
Thanks!

dex2jar has errors

Landroid/preference/MultiSelectListPreference$1;.onClick(Landroid/content/DialogInterface;IZ)V
java.lang.RuntimeException: can not merge I and Z
at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.provideAs(TypeTransformer.java:780)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.enexpr(TypeTransformer.java:659)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:719)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:703)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.enexpr(TypeTransformer.java:698)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:719)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.exExpr(TypeTransformer.java:703)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.s1stmt(TypeTransformer.java:810)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.sxStmt(TypeTransformer.java:840)
at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:206)
at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method public onClick(Landroid/content/DialogInterface;IZ)V
.registers 7
if-eqz p3, :L1
iget-object v0, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
iget-object v1, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
invoke-static { v1 }, Landroid/preference/MultiSelectListPreference;->access$200(Landroid/preference/MultiSelectListPreference;)Ljava/util/Set;
move-result-object v1
iget-object v2, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
invoke-static { v2 }, Landroid/preference/MultiSelectListPreference;->access$100(Landroid/preference/MultiSelectListPreference;)[Ljava/lang/CharSequence;
move-result-object v2
aget-object v2, v2, p2
invoke-virtual { v2 }, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface { v1, v2 }, Ljava/util/Set;->add(Ljava/lang/Object;)Z
move-result v1
invoke-static { v0, v1 }, Landroid/preference/MultiSelectListPreference;->access$076(Landroid/preference/MultiSelectListPreference;I)Z
:L0
return-void
:L1
iget-object v0, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
iget-object v1, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
invoke-static { v1 }, Landroid/preference/MultiSelectListPreference;->access$200(Landroid/preference/MultiSelectListPreference;)Ljava/util/Set;
move-result-object v1
iget-object v2, p0, Landroid/preference/MultiSelectListPreference$1;->this$0:Landroid/preference/MultiSelectListPreference;
invoke-static { v2 }, Landroid/preference/MultiSelectListPreference;->access$100(Landroid/preference/MultiSelectListPreference;)[Ljava/lang/CharSequence;
move-result-object v2
aget-object v2, v2, p2
invoke-virtual { v2 }, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface { v1, v2 }, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
move-result v1
invoke-static { v0, v1 }, Landroid/preference/MultiSelectListPreference;->access$076(Landroid/preference/MultiSelectListPreference;I)Z
goto :L0
.end method

java.lang.RuntimeException: Method code too large!

The following is the error I encountered.

There are 1 methods fail to translate.
2015-07-29 03:53:53 UTC
version: [dex-reader-2.0, dex-reader-api-2.0, dex-ir-2.0, d2j-smali-2.0, d2j-base-cmd-2.0, dex-tools-2.0, dex-translator-2.0]
cmdline: [com.nxp.nfc.tagwriter.apk]
env:
java.runtime.name: Java(TM) SE Runtime Environment
java.vm.version: 25.45-b02
java.vm.vendor: Oracle Corporation
java.vendor.url: http://java.oracle.com/
java.vm.name: Java HotSpot(TM) Client VM
java.vm.specification.name: Java Virtual Machine Specification
java.runtime.version: 1.8.0_45-b15
java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs: C:\Program Files (x86)\Java\jre1.8.0_45\lib\endorsed
java.io.tmpdir: C:\Users\Calvin\AppData\Local\Temp
java.vm.specification.vendor: Oracle Corporation
java.library.path: C:\ProgramData\Oracle\Java\javapath;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Softing\OPCToolbox\V43x\Windows\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Intel\iCLS Client;C:\Program Files\Intel\iCLS Client;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;c:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\TortoiseSVN\bin;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn;c:\Program Files\Microsoft SQL Server\100\Tools\Binn;c:\Program Files\Microsoft SQL Server\100\DTS\Binn;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn;C:\Program Files\Microsoft SQL Server\120\Tools\Binn;C:\Program Files\Microsoft SQL Server\120\DTS\Binn;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn;C:\Program Files\Microsoft SQL Server\110\Tools\Binn;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit;C:\Program Files\Microsoft\Web Platform Installer;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0;C:\Program Files (x86)\QuickTime\QTSystem;C:\Program Files (x86)\Skype\Phone;C:\Program Files\nodejs;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Git\bin;C:\Program Files (x86)\Brackets\command;C:\Users\Calvin\AppData\Roaming\npm;.
java.specification.name: Java Platform API Specification
java.class.version: 52.0
java.awt.printerjob: sun.awt.windows.WPrinterJob
java.specification.version: 1.8
java.class.path: C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\antlr-runtime-3.5.jar;C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\asm-debug-all-4.1.jar;C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\d2j-base-cmd-2.0.jar;C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\d2j-jasmin-2.0.jar;C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\d2j-smali-2.0.jar;C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\dex-ir-2.0.jar;C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\dex-reader-2.0.jar;C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\dex-reader-api-2.0.jar;C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\dex-tools-2.0.jar;C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\dex-translator-2.0.jar;C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\dex-writer-2.0.jar;C:\Users\Calvin\Desktop\My Workspace\Maxpro\dex2jar-2.0\lib\dx-1.7.jar;
java.vm.specification.version: 1.8
java.home: C:\Program Files (x86)\Java\jre1.8.0_45
java.specification.vendor: Oracle Corporation
java.vm.info: mixed mode
java.version: 1.8.0_45
java.ext.dirs: C:\Program Files (x86)\Java\jre1.8.0_45\lib\ext;C:\Windows\Sun\Java\lib\ext
java.vendor: Oracle Corporation
java.vendor.url.bug: http://bugreport.sun.com/bugreport/

EXCEPTION FROM SIMULATION: expected type long[] but found double[] during jar2dex

Hi,

Following original java code:

package com.example.d2jarrayarraysample;
import java.lang.reflect.Array;
import android.app.Activity;
import android.os.Bundle;
public class ArrayArrayActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        double t0[] = new double[1];
        t0[0] = 0;
        double t1[] = (double[])Array.newInstance(Double.TYPE, 1);
        t1[0] = 0;
        double t2[][] = new double[1][1];
        t2[0][0] = 0; // incorrectly translated to 0L (long) rather than 0.0 (double)
        double t3[][] = (double[][])Array.newInstance(Double.TYPE, 1, 1);
        t3[0][0] = 0; // incorrectly translated to 0L (long) rather than 0.0 (double)
        a(t0);
        a(t1);
        a(t2[0]);
        a(t3[0]);
//      setContentView(R.layout.activity_array_array);
    }
    private void a(double[] t0) {
        // Just to avoid optimization of unused local variables in onCreate here above
    }
}

Steps:

(prompt) \android-tools\dex2jar\dex2jar-2.1-SNAPSHOT\d2j-dex2jar.bat -f -o code.jar D2JArrayArraySample.apk
dex2jar D2JArrayArraySample.apk -> code.jar

(prompt) \android-tools\dex2jar\dex2jar-2.1-SNAPSHOT\d2j-jar2dex.bat -f code.jar
jar2dex code.jar -> code-jar2dex.dex
call com.android.dx.command.Main.main[--dex, --no-strict, --output=D:\tmp\mobile
\D2JArrayArray\code-jar2dex.dex, D:\tmp\mobile\D2JArrayArray\code.jar]

EXCEPTION FROM SIMULATION:
expected type long[] but found double[]

...at bytecode offset 0000002e
locals[0000]: Lcom/example/d2jarrayarraysample/ArrayArrayActivity;
locals[0001]: [D
locals[0002]: <invalid>
locals[0003]: [[D
...while working on block 002c
...while working on method onCreate:(Landroid/os/Bundle;)V
...while processing onCreate (Landroid/os/Bundle;)V
...while processing com/example/d2jarrayarraysample/ArrayArrayActivity.class

1 error; aborting

After some digging into the TypeTransformer class, it appears that it misses to fix two long constants, while it succeeds on some others.
irMethod.toString(), prior to transform():

// Lcom/example/d2jarrayarraysample/ArrayArrayActivity;
void onCreate(Bundle) {

a0 := @this
a1 := @parameter_0
void a0.onCreate(a1)
a2 = (([])Array.newInstance(Double.TYPE,1))
a2[0] = 0L
a3 = (([][])Array.newInstance(Double.TYPE,new int[]{1, 1}))
a3[0][0] = 0L
a4 = (([][])Array.newInstance(Double.TYPE,new int[]{1, 1}))
a4[0][0] = 0L
void a0.a(new double[]{0L})
void a0.a(a2)
void a0.a(a3[0])
void a0.a(a4[0])
return
}

And after transform() has finished:

// Lcom/example/d2jarrayarraysample/ArrayArrayActivity;
void onCreate(Bundle) {

a0 := @this
a1 := @parameter_0
void a0.onCreate(a1)
a2 = (([])Array.newInstance(Double.TYPE,1))
a2[0] = 0.0 // is fixed by transform
a3 = (([][])Array.newInstance(Double.TYPE,new int[]{1, 1}))
a3[0][0] = 0L // is *not* fixed by transform
a4 = (([][])Array.newInstance(Double.TYPE,new int[]{1, 1}))
a4[0][0] = 0L // is *not* fixed by transform
void a0.a(new double[]{0.0}) // is fixed by transform
void a0.a(a2)
void a0.a(a3[0])
void a0.a(a4[0])
return
}

Note: the same was working fine with dex2jar 0.0.9.13.
If you need the apk, please tell me where to upload it. Thanks in advance for your answer.

java.lang.NullPointerException Caused by missing if statement.

The stack trace:
java.lang.NullPointerException
at com.googlecode.d2j.node.DexAnnotationNode.accept(DexAnnotationNode.java:124)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_item(DexFileReader.java:845)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_set_item(DexFileReader.java:835)
at com.googlecode.d2j.reader.DexFileReader.read_annotation_set_ref_list(DexFileReader.java:1066)
at com.googlecode.d2j.reader.DexFileReader.acceptMethod(DexFileReader.java:1007)
at com.googlecode.d2j.reader.DexFileReader.acceptClass(DexFileReader.java:805)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:619)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:581)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:554)

BugFix: In DexFileReader.java
private void read_annotation_set_ref_list(int parameter_annotation_offset,
DexMethodVisitor dmv) {
ByteBuffer in = annotationSetRefListIn;
in.position(parameter_annotation_offset);
int size = in.getInt();
for (int j = 0; j < size; j++) {
int param_annotation_offset = in.getInt();
if (param_annotation_offset == 0) {
continue;
}
DexAnnotationAble dpav = dmv.visitParameterAnnotation(j);
try {
//+++++ if (dpav != null)
read_annotation_set_item(param_annotation_offset, dpav);
} catch (Exception e) {
e.printStackTrace();
throw new DexException(e,
"while accept parameter annotation in parameter:[%d]",
j);
}
}
}

There are 15 methods fail to translate.

Yet another .dex with issues...
https://www.sendspace.com/file/y9tbpr

This file is generated by dex2jar

Please report this file to one of following link if possible (any one).
https://sourceforge.net/p/dex2jar/tickets/
https://bitbucket.org/pxb1988/dex2jar/issues
https://github.com/pxb1988/dex2jar/issues [no attachment support, not preferred]
[email protected]

There are 15 methods fail to translate.
............
java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)..........

java.lang.IndexOutOfBoundsException: fromIndex < 0: -1
at java.util.BitSet.nextSetBit(BitSet.java:701)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505)
at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123)
at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10)
at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:148)
at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:433)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:129)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:528)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:425)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:441)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:171)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:271)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.