我有以下smali代码在Android上使用su priviledges执行二进制文件:
[...]
.line 66
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v6
const-string v7, "su -c /system/bin/screencap -p /data/local/tmp/x.png"
invoke-virtual {v6, v7}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
[...]
我需要在引号中设置字符串的一部分,如下所示:
'su -c "/system/bin/screencap -p /data/local/tmp/x.png"'
如何逃避报价?我尝试使用反斜杠但apktool在尝试重建APK文件时抱怨它。
提前致谢。
答案 0 :(得分:1)
您应该能够使用反斜杠转义嵌入式双引号,与java相同。
const-string v7, "su -c \"/system/bin/screencap -p /data/local/tmp/x.png\""