Android:ADB命令插入SQL数据[已关闭]

brccelvz  于 2023-05-15  发布在  Android
关注(0)|答案(1)|浏览(126)

**关闭。**这个问题是not reproducible or was caused by typos。目前不接受答复。

此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
14小时前关闭
Improve this question
我尝试使用ADB在Magisk中给予应用程序根访问权限。
如果我手动运行这些命令,它就可以工作:

adb shell
su
sqlite3 /data/adb/magisk.db "INSERT INTO policies (uid,policy,until,logging,notification) VALUES(12345,2,0,1,1)"

我尝试做的是通过一个批处理脚本作为一个单一的行。我尝试了不同的变化:

adb shell "su -c 'sqlite3 /data/adb/magisk.db 'INSERT INTO policies (uid,policy,until,logging,notification);VALUES(12345,2,0,1,1);''"
adb shell "su -c 'sqlite3 /data/adb/magisk.db 'INSERT INTO policies uid,policy,until,logging,notification;VALUES 12345,2,0,1,1;''"
adb shell "su -c 'sqlite3 /data/adb/magisk.db 'INSERT INTO policies VALUES 12345,2,0,1,1;''"

我要么得到一个错误,告诉我“错误:incomplete input”或“/system/bin/sh:语法错误:意外的'('“
有人有什么想法吗?我确信这只是一个语法问题,但我不确定还能尝试什么。
先谢谢你了。

z4iuyo4d

z4iuyo4d1#

试试看

INSERT INTO policies (uid,policy,until,logging,notification) VALUES(12345,2,0,1,1);
  • 也就是说
  • 对于第一行/第一次尝试,已经删除了提前结束语句的分号。
  • 对于第二行,除了去除分号之外,列列表和值列表被括在括号中。
  • 对于最后一行,如果策略表中只有5列,则可以使用INSERT INTO policies VALUES (12345,2,0,1,1);。也就是说,值列表需要用括号括起来。

相关问题