JesusFreke / smali

smali/baksmali
6.34k stars 1.07k forks source link

Could not resolve the method x in y #722

Closed ilijaivanov closed 4 years ago

ilijaivanov commented 5 years ago

Hi, I'm having an issue deodexing the stock MIUI Global ROM (10.3.10.0.PFGMIXM) for the Xiaomi Redmi Note 7 (Lavender, Android 9). The version of smali/baksmali I'm using is 2.3.1.

The command I run is "baksmali x DeskClock.odex -b ~/sysdir/system/framework/arm64/boot.oat" -o OutputDirectory

The error I get is the one below (among others of similar nature). This is only an excerpt as I had some trouble with copying commandline output in SSH, I'm sorry about that.

I would also like to mention that I can deodex some apps just fine, without any errors. (e.g. MiuiScreenRecorder) DeskClock seems to be causing me some issues.

org.jf.dexlib2.analysis.AnalysisException: Could not resolve the method in class Landroidx/vectordrawable/graphics/drawable/VectorDrawableCompat; at index 82
        at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInvokeVirtualQuick(MethodAnalyzer.java:1824)
        at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1040)
        at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:201)
        at org.jf.dexlib2.analysis.MethodAnalyzer.<init>(MethodAnalyzer.java:131)
        at org.jf.baksmali.Adaptors.MethodDefinition.addAnalyzedInstructionMethodItems(MethodDefinition.java:464)
        at org.jf.baksmali.Adaptors.MethodDefinition.getMethodItems(MethodDefinition.java:371)
        at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.java:238)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeVirtualMethods(ClassDefinition.java:327)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:113)
        at org.jf.baksmali.Baksmali.disassembleClass(Baksmali.java:152)
        at org.jf.baksmali.Baksmali.access$000(Baksmali.java:46)
        at org.jf.baksmali.Baksmali$1.call(Baksmali.java:76)
        at org.jf.baksmali.Baksmali$1.call(Baksmali.java:74)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
opcode: invoke-virtual-quick
code address: 22
method: Landroidx/vectordrawable/graphics/drawable/VectorDrawableCompat;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V

Thanks in advance. I'm running this on Ubuntu 18.04, with OpenJDK 8 JRE.

ilijaivanov commented 5 years ago

@JesusFreke Sorry for the tag.

JesusFreke commented 4 years ago

Feel free to re-open if this is still occurring on the latest version.