[Galaxy S 5 General] svadev:
Four files de-optimazing with error

@_riddle

Big thanks for your work!

In last oat2dex and previous for four files (maps.odex, Music2.odex, DocumentService.odex, SamsungLinkPlatform.odex) de-optimazing with error.

But in last v4 (oat2dex_v04.jar) still many others files (books.odex, chaton, drive.odex, drivelink.odex, flipboard.odex, headlines.odex...) de-optimazing with error and

errorlevel with java -jar oat2dex-v04.jar boot boot.oat is 1 and in folder DEX only 6 files (bouncycastle.dex, conscrypt.dex, core-junit.dex, core-libart.dex, ext.dex, okhttp.dex). And v4 work very long.

Please, correct it and return to v2. auto param not needed, because it works only with boot.oat, but not with all /system folder.

We can write batch code for oat2dex.jar which will work with whole /system folder.

Big thanks to you!

Here is these four files: ftp://79.120.63.235/for_file_with_error.zip

H:\deodex>java -jar oat2dex.jar Maps.odex odex
12-23 09:05:13:025 Preparing bootclasspath from odex
12-23 09:05:13:228 De-optimizing /system/app/Maps/Maps.apk
12-23 09:05:16:181 Analysis error in class=Lcom/google/android/apps/gmm/map/util/d; method=<clinit>
12-23 09:05:16:181 org.jf.dexlib2.analysis.AnalysisException: Could not resolve the field in class Lcom/google/android/apps/gmm/map/util/e; at offset 24 in <clinit>
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeIputIgetQuick(MethodAnalyzer.java:1561)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:968)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:205)
at org.jf.dexlib2.analysis.MethodAnalyzer.<init>(MethodAnalyzer.java:140)
at dext.OatUtil$OatDexRewriter$1$1.getInstructions(OatUtil.java:596)
at org.jf.dexlib2.writer.pool.ClassPool.internCode(ClassPool.java:143)
at org.jf.dexlib2.writer.pool.ClassPool.intern(ClassPool.java:125)
at org.jf.dexlib2.writer.pool.DexPool.writeTo(DexPool.java:97)
at dext.OatUtil.extractToDex(OatUtil.java:322)
at dext.OatUtil.oat2dex(OatUtil.java:195)
at dext.OatUtil.main(OatUtil.java:71)
opcode: iget-quick
code address: 1492
method: Lcom/google/android/apps/gmm/map/util/d;-><clinit>()V

Exception in thread "main" org.jf.util.ExceptionWithContext: Unsupported instruction format: Format22cs
at org.jf.dexlib2.writer.DexWriter.writeCodeItem(DexWriter.java:1008)
at org.jf.dexlib2.writer.DexWriter.writeDebugAndCodeItems(DexWriter.java:769)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:222)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:200)
at org.jf.dexlib2.writer.pool.DexPool.writeTo(DexPool.java:99)
at dext.OatUtil.extractToDex(OatUtil.java:322)
at dext.OatUtil.oat2dex(OatUtil.java:195)
at dext.OatUtil.main(OatUtil.java:71)

H:\deodex>java -jar oat2dex.jar Music2.odex odex
12-23 09:07:10:915 Preparing bootclasspath from odex
12-23 09:07:11:103 De-optimizing /system/app/Music2/Music2.apk
vtableIndex=76 vtable.size()=75
vtableIndex=75 vtable.size()=75
vtableIndex=76 vtable.size()=75
vtableIndex=83 vtable.size()=75
vtableIndex=83 vtable.size()=75
vtableIndex=83 vtable.size()=75
vtableIndex=90 vtable.size()=75
12-23 09:07:16:462 Analysis error in class=Lcom/google/android/music/utils/MusicUtils; method=getSongListRadioMixDescrip
tor
12-23 09:07:16:509 org.jf.dexlib2.analysis.AnalysisException: Could not resolve the method in class Lcom/google/android/
music/medialist/SongList; at index 90
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInvokeVirtualQuick(MethodAnalyzer.java:1659)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:976)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:205)
at org.jf.dexlib2.analysis.MethodAnalyzer.<init>(MethodAnalyzer.java:140)
at dext.OatUtil$OatDexRewriter$1$1.getInstructions(OatUtil.java:596)
at org.jf.dexlib2.writer.pool.ClassPool.internCode(ClassPool.java:143)
at org.jf.dexlib2.writer.pool.ClassPool.intern(ClassPool.java:125)
at org.jf.dexlib2.writer.pool.DexPool.writeTo(DexPool.java:97)
at dext.OatUtil.extractToDex(OatUtil.java:322)
at dext.OatUtil.oat2dex(OatUtil.java:195)
at dext.OatUtil.main(OatUtil.java:71)
opcode: invoke-virtual/range-quick
code address: 247
method: Lcom/google/android/music/utils/MusicUtils;->getSongListRadioMixDescriptor(Landroid/content/Context;Lcom/google/
android/music/medialist/SongList;Z)Lcom/google/android/music/mix/MixDescriptor;

Exception in thread "main" org.jf.util.ExceptionWithContext: Unsupported instruction format: Format35ms
at org.jf.dexlib2.writer.DexWriter.writeCodeItem(DexWriter.java:1008)
at org.jf.dexlib2.writer.DexWriter.writeDebugAndCodeItems(DexWriter.java:769)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:222)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:200)
at org.jf.dexlib2.writer.pool.DexPool.writeTo(DexPool.java:99)
at dext.OatUtil.extractToDex(OatUtil.java:322)
at dext.OatUtil.oat2dex(OatUtil.java:195)
at dext.OatUtil.main(OatUtil.java:71)

H:\deodex>java -jar oat2dex.jar DocumentService.odex odex
12-23 09:08:39:650 Preparing bootclasspath from odex
12-23 09:08:39:837 De-optimizing /system/priv-app/DocumentService/DocumentService.apk
12-23 09:08:41:634 Analysis error in class=Lorg/apache/index/poi/hslf/record/RecordTypes; method=<clinit>
12-23 09:08:41:634 org.jf.dexlib2.analysis.AnalysisException: Could not resolve the field in class Ljava/lang/Object; at
offset 8 in <clinit>
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeIputIgetQuick(MethodAnalyzer.java:1561)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:968)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:205)
at org.jf.dexlib2.analysis.MethodAnalyzer.<init>(MethodAnalyzer.java:140)
at dext.OatUtil$OatDexRewriter$1$1.getInstructions(OatUtil.java:596)
at org.jf.dexlib2.writer.pool.ClassPool.internCode(ClassPool.java:143)
at org.jf.dexlib2.writer.pool.ClassPool.intern(ClassPool.java:125)
at org.jf.dexlib2.writer.pool.DexPool.writeTo(DexPool.java:97)
at dext.OatUtil.extractToDex(OatUtil.java:322)
at dext.OatUtil.oat2dex(OatUtil.java:195)
at dext.OatUtil.main(OatUtil.java:71)
opcode: iget-object-quick
code address: 1132
method: Lorg/apache/index/poi/hslf/record/RecordTypes;-><clinit>()V

12-23 09:08:42:322 Analysis error in class=Lorg/apache/poi/hslf/record/RecordTypes; method=<clinit>
12-23 09:08:42:322 org.jf.dexlib2.analysis.AnalysisException: Could not resolve the field in class Ljava/lang/Object; at
offset 8 in <clinit>
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeIputIgetQuick(MethodAnalyzer.java:1561)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:968)
at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:205)
at org.jf.dexlib2.analysis.MethodAnalyzer.<init>(MethodAnalyzer.java:140)
at dext.OatUtil$OatDexRewriter$1$1.getInstructions(OatUtil.java:596)
at org.jf.dexlib2.writer.pool.ClassPool.internCode(ClassPool.java:143)
at org.jf.dexlib2.writer.pool.ClassPool.intern(ClassPool.java:125)
at org.jf.dexlib2.writer.pool.DexPool.writeTo(DexPool.java:97)
at dext.OatUtil.extractToDex(OatUtil.java:322)
at dext.OatUtil.oat2dex(OatUtil.java:195)
at dext.OatUtil.main(OatUtil.java:71)
opcode: iget-object-quick
code address: 1385
method: Lorg/apache/poi/hslf/record/RecordTypes;-><clinit>()V

Exception in thread "main" org.jf.util.ExceptionWithContext: Unsupported instruction format: Format22cs
at org.jf.dexlib2.writer.DexWriter.writeCodeItem(DexWriter.java:1008)
at org.jf.dexlib2.writer.DexWriter.writeDebugAndCodeItems(DexWriter.java:769)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:222)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:200)
at org.jf.dexlib2.writer.pool.DexPool.writeTo(DexPool.java:99)
at dext.OatUtil.extractToDex(OatUtil.java:322)
at dext.OatUtil.oat2dex(OatUtil.java:195)
at dext.OatUtil.main(OatUtil.java:71)

H:\deodex>java -jar oat2dex.jar SamsungLinkPlatform.odex odex
12-23 09:10:08:025 Preparing bootclasspath from odex
12-23 09:10:08:212 De-optimizing /system/priv-app/SamsungLinkPlatform/SamsungLinkPlatform.apk
Exception in thread "main" org.jf.util.ExceptionWithContext: Unsupported instruction format: Format35ms
at org.jf.dexlib2.writer.DexWriter.writeCodeItem(DexWriter.java:1008)
at org.jf.dexlib2.writer.DexWriter.writeDebugAndCodeItems(DexWriter.java:769)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:222)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:200)
at org.jf.dexlib2.writer.pool.DexPool.writeTo(DexPool.java:99)
at dext.OatUtil.extractToDex(OatUtil.java:322)
at dext.OatUtil.oat2dex(OatUtil.java:195)
at dext.OatUtil.main(OatUtil.java:71)