У меня есть следующий код Smali:
.method private k(I)V
.registers 27 (original) 29 (after)
...
#@68a
invoke-direct/range {v24 .. v25}, Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V
...
Это отклонено верификатором Dalvik. 0x76 — это вызов-прямой/диапазон.
dalvikvm: VFY: register1 v25 type 0, wanted ref
dalvikvm: VFY: bad arg 1 (into Landroid/content/Context;)
dalvikvm: VFY: rejecting call to Landroid/widget/LinearLayout;.<init> (Landroid/content/Context;)V
dalvikvm: VFY: rejecting opcode 0x76 at 0x068a
dalvikvm: VFY: rejected Lcom/pocketwood/myav/MyAV;.k (I)V
dalvikvm: Verifier rejected class Lcom/pocketwood/myav/MyAV;
dalvikvm: Class init failed in newInstance call (Lcom/pocketwood/myav/MyAV;)
Интересно, что v25 не используется ни в одной инструкции выше 68a! Исходный APK работает нормально, но перепакованный с помощью smali верификатор отклоняет класс MyAV.