zhangwenan / smali

Automatically exported from code.google.com/p/smali
0 stars 0 forks source link

Unable to produce classes.dex #114

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
With one Android 4.0.3 ROM it's not possible to deodex all files. Some of them 
remain odexed, giving:
"out\com\android\phone\PhoneApp$3.smali[0,-1] no viable alternative at input 
'<EOF>'
Unable to produce classes.dex!" error command.

I used the following command:
java -Xm512m -jar smali.jar -a 15 -o classes.dex out

smali/baksmali 1.3.2

The problem is connected with one error that appears at the very beginning:

Error occured while disassembling class Lcom.android.phone.PhoneApp$3; - 
skipping class

Any help would be greatly appreciated!

Original issue reported on code.google.com by michal.b...@gmail.com on 21 Mar 2012 at 2:12

GoogleCodeExporter commented 9 years ago
Fixed

0044afa4c33b07f508b12d88160be9358361fec8
http://code.google.com/p/smali/source/detail?r=0044afa4c33b07f508b12d88160be9358
361fec8

Original comment by jesusfreke@jesusfreke.com on 23 Mar 2012 at 8:55

GoogleCodeExporter commented 9 years ago

Original comment by jesusfreke@jesusfreke.com on 28 Mar 2012 at 5:07

GoogleCodeExporter commented 9 years ago
HTC ONE X ICS4.0.3 phone.odex
Error occured while disassembling class Lcom.android.phone.PhoneApp$3; - 
skipping class
java.lang.RuntimeException: regCount does not match the number of arguments of 
the method
        at org.jf.dexlib.Code.Format.Instruction35c.checkItem(Instruction35c.java:160)
        at org.jf.dexlib.Code.Format.Instruction35c.<init>(Instruction35c.java:69)
        at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInvokeVirtualQuick(MethodAnalyzer.java:
3632)
        at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1086)
        at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:213)
        at org.jf.baksmali.Adaptors.MethodDefinition.addAnalyzedInstructionMethodItems(MethodDefinit
ion.java:379)
        at org.jf.baksmali.Adaptors.MethodDefinition.getMethodItems(MethodDefinition.java:301)
        at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.java:132)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeMethods(ClassDefinition.java:338)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeVirtualMethods(ClassDefinition.java:323)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:152)
        at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:205)
        at org.jf.baksmali.main.main(main.java:293)

Original comment by pwe...@gmail.com on 18 Apr 2012 at 12:36

GoogleCodeExporter commented 9 years ago
This was fixed. I haven't released a new version with the fix. Feel free to do 
a build from master.

Original comment by jesusfreke@jesusfreke.com on 18 Apr 2012 at 4:42