markcox / smali

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

Smali doesn't support odex instruction throw-verification-error #223

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What seems to be the problem?

If smali file contains odex instruction "throw-verification-error", smali.jar 
cannot generate dex file and failed with message:

throw-verification-error is an odexed instruction. You cannot reassemble a 
disassembled odex file unless it has been deodexed.

What is the exact smali/baksmali command that you ran?

    java -jar smali-2.0.3.jar -o classes.dex out/

What version of smali/baksmali are you using? What rom are you working
from?

Tried both 2.0.2 and 2.0.3 version, none of them work.

Please provide any additional information below: error messages, symptoms,
etc.

The exact smali code that cause this problrem is:

    .line 911
    throw-verification-error no-such-method, Landroid/provider/Telephony$Sms;->getDefaultSmsPackage(Landroid/content/Context;)Ljava/lang/String;

    nop 

Original issue reported on code.google.com by york.ye....@gmail.com on 15 Oct 2014 at 3:28

GoogleCodeExporter commented 9 years ago
Odex instructions are not allowed by default. In some cases, due to various 
forms of obfuscation, some odex instructions may be present in a normal dex 
file. In order to accommodate this, you can use the -x option to smali to allow 
a subset of odex instructions to be compiled into the dex file.

Original comment by jesusfreke@jesusfreke.com on 7 Nov 2014 at 2:23