williamsim/dex2jar

miss inner class

Opened this issue · 1 comments

What steps will reproduce the problem?
1. d2j-dex2jar classes.dex -o classes.jar
2. open classes.jar with JD-GUI

What is the expected output? What do you see instead?
Expected inner classes is placed inside their parent, e.g. InnerClassB should 
be declared in ClassA
Instead, I got an class named ClassA$InnerClassB

What version of the product are you using? On what operating system?
$ d2j-dex2jar -h
...
version: reader-1.15, translator-0.0.9.15, ir-1.12

Original issue reported on code.google.com by chenxingyu92@gmail.com on 30 Nov 2013 at 3:37

This happened me as well. I think this happens because, in some dex/apk files, 
dalvik annotations for inner classes (dalvik/annotation/MemberClasses, 
dalvik/annotation/EnclosingClass, etc...) are removed. In that case, probably 
we need to guess class structures by whether class name include '$' or not.

Original comment by horikawa...@gmail.com on 10 Dec 2013 at 12:14