Ошибка Dalvik Verifier: попытка получить класс из нереф-регистра v14

Я играю с написанием smali и получаю следующую ошибку:

W/dalvikvm( 2798): VFY: tried to get class from non-ref register v14 (type=0)
W/dalvikvm( 2798): VFY:  rejecting opcode 0x6e at 0x001c
W/dalvikvm( 2798): VFY:  rejected Lcom/test/Smali1;.doTest(Lc
om/test/Smali2;Z)Ljava/lang/String;
W/dalvikvm( 2798): Verifier rejected class Lcom/test/Smali;

Мой код smali:

.method  doTest(Lcom/test/Smali2;Z)Ljava/lang/String;
.registers 22
.prologue
move/16 v16, p2
move-object/from16 v15, p1
move-object/from16 v14, p0
check-cast v15, Lcom/test/Smali2;
check-cast v14, Lcom/test/Smali1;
invoke-virtual {v14}, Lcom/test/Smali1;->test()

Я попытался найти проблему, посмотрев на код CodeVerifier, но я не уверен, почему v14 определяется как регистр без ссылки.

0 ответов

Другие вопросы по тегам