I have boot-framework.oat from a 7.1.0 image which I'm trying to convert to dex via:
java -jar oat2dex.jar -a 24 -o out-7 boot boot-framework.oat
And get this:
Method: Landroid/accessibilityservice/AccessibilityService$1;-><init>(Landroid/accessibilityservice/AccessibilityService;ZLandroid/accessibilityservice/AccessibilityService$GestureResultCallbackInfo;)V
Near line: -1 (address 2)
Instructions:
[0] iput-object-quick regA=1 regB=0
[1] iput-boolean-quick regA=2 regB=0 <-----
[2] iput-object-quick regA=3 regB=0
[3] invoke-direct regC=0
07-05 12:19:49:180 org.jf.dexlib2.analysis.AnalysisException: Could not resolve the field in class (UninitThis,Landroid/accessibilityservice/AccessibilityService$1;) at offset 16 in <init>
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeIputIgetQuick(MethodAnalyzer.java:2422)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1269)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:259)
at org.jf.dexlib2.analysis.MethodAnalyzer.<init>(MethodAnalyzer.java:190)
at org.rh.smaliex.deopt.OdexRewriter$OdexRewriterModule$1$1.getInstructions(OdexRewriter.java:233)
...(Skip 24 traces)
at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:271)
at org.rh.smaliex.OatUtil.convertDexFromBootOat(OatUtil.java:192)
at org.rh.smaliex.OatUtil.bootOat2Dex(OatUtil.java:75)
at org.rh.smaliex.Main.mainImpl(Main.java:108)
at org.rh.smaliex.Main.main(Main.java:45)
07-05 12:19:49:180 Failed to re-construct dex java.lang.ClassCastException: org.jf.dexlib2.analysis.UnresolvedOdexInstruction cannot be cast to org.jf.dexlib2.iface.instruction.formats.Instruction22cs
07-05 12:19:49:180 convertToDex: skip /system/framework/framework.jar
07-05 12:19:49:180 De-optimizing /system/framework/framework.jar:classes2.dex
07-05 12:19:49:367 Analysis error in class=Landroid/telephony/TelephonyHistogram; method=<init>
Method: Landroid/telephony/TelephonyHistogram;-><init>(III)V
Near line: 86 (address 23)
Instructions:
[9] iput-quick regA=4 regB=2
[10] const regA=0
[11] iput-quick regA=0 regB=2 <-----
[12] iput-quick regA=1 regB=2
[13] iput-quick regA=1 regB=2
07-05 12:19:49:367 org.jf.dexlib2.analysis.AnalysisException: Could not resolve the field in class (Reference,Landroid/telephony/TelephonyHistogram;) at offset 40 in <init>
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeIputIgetQuick(MethodAnalyzer.java:2422)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1269)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:259)
at org.jf.dexlib2.analysis.MethodAnalyzer.<init>(MethodAnalyzer.java:190)
at org.rh.smaliex.deopt.OdexRewriter$OdexRewriterModule$1$1.getInstructions(OdexRewriter.java:233)
...(Skip 24 traces)
at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:271)
at org.rh.smaliex.OatUtil.convertDexFromBootOat(OatUtil.java:192)
at org.rh.smaliex.OatUtil.bootOat2Dex(OatUtil.java:75)
at org.rh.smaliex.Main.mainImpl(Main.java:108)
at org.rh.smaliex.Main.main(Main.java:45)
07-05 12:19:49:368 Failed to re-construct dex java.lang.ClassCastException: org.jf.dexlib2.analysis.UnresolvedOdexInstruction cannot be cast to org.jf.dexlib2.iface.instruction.formats.Instruction22cs
07-05 12:19:49:368 convertToDex: skip /system/framework/framework.jar:classes2.dex
I'm sure I'm just doing something wrong, but I don't understand the right commands I need, or if supplemental files from the device are needed, to make this work. Can anyone help?
I have boot-framework.oat from a 7.1.0 image which I'm trying to convert to dex via:
And get this:
I'm sure I'm just doing something wrong, but I don't understand the right commands I need, or if supplemental files from the device are needed, to make this work. Can anyone help?