将Smali值打印到logcat

11
在下面的示例代码中,我如何添加一个命令将v0、v1等的值打印到logcat中?
const v1, 0x7f05002e

iget-object v2, p0, Lcom/company/myapp/MainActivity;->d:Lcom/company/myapp/f;

invoke-virtual {v2}, Lcom/company/myapp/f;->getPanelModel()Lcom/company/myapp/h;

move-result-object v2

invoke-virtual {v2}, Lcom/company/myapp/h;->b()I

move-result v2

invoke-virtual {v0, v1, v2}, Lcom/company/e/k;->a(II)V

iget-object v0, p0, Lcom/company/myapp/MainActivity;->c:Lcom/company/e/k;
1个回答

31
在末尾添加 :
const-string v8, "log-tag"

invoke-static {v1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v9

invoke-static {v8, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

从你给出的示例可以看出,变量v1是整数类型,因此在使用对数函数之前需要使用String;->valueOf(I)函数将其转换为字符串类型。另外,Log;->d函数在调试日志级别输出;可能需要使用其他日志级别。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接