我想更容易访问模拟器上的sqlite数据库,所以我创建了一个成功运行第一行的批处理文件,但有没有办法从批处理文件运行第二行? (此时adb已经在运行,因此它将在shell中运行命令。)
adb -s emulator-5554 shell
# sqlite3 /data/data/com.myProject/databases/myDatabase
更新: 出于某种原因
adb -s emulator-5554 shell sqlite3 /data/data/com.myProject/databases/myDatabase
阻止您使用命令行。打字和粘贴似乎都被封锁了。我在批处理之外的命令行中运行了这一行,它做了同样的事情。
单独的行可以正常工作:
adb -s emulator-5554 shell
sqlite3 /data/data/com.myProject/databases/myDatabase
但这在批处理文件中不起作用(sqlite3命令执行得太早)。
答案 0 :(得分:1)
您可以在目标设备上运行除交互式shell之外的特定命令。例如:
adb -s emulator-5554 shell ls /sdcard
或
adb -s emulator-5554 shell sqlite3 /data/data/com..../database.db
一旦变得复杂,最好使用您复制到设备上并按需运行的脚本。
答案 1 :(得分:1)
您可以使用输入重定向向ADB发送命令流:
adb -s emulator-5554 shell <a.txt
a.txt
包含
sqlite3 /data/data/com.myProject/databases/myDatabase
logout
这可以更好地扩展。 a.txt可以根据需要增长。