Android 是否从批处理文件运行sqlite3命令?
我想使在emulator上访问sqlite数据库更容易,因此我创建了一个批处理文件,成功地运行了第一行,但是有没有办法从批处理文件运行第二行?(此时adb已经在运行,因此它将在shell中运行命令。)Android 是否从批处理文件运行sqlite3命令?,android,batch-file,Android,Batch File,我想使在emulator上访问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命令执行得太早)。您可以在目标设备上运行特定命令,而不仅仅是交互式shell。例如:
adb -s emulator-5554 shell ls /sdcard
或
一旦变得复杂,最好使用复制到设备上并按需运行的脚本。您可以使用输入重定向向ADB发送命令流:
adb -s emulator-5554 shell <a.txt
这个比例更好。a、 txt可以根据您的需要任意增长。使用
代码>分隔符以发送多个命令。像这样:adb-s仿真器-5554 shell ls/sdcard;ls/data
太棒了,正是我想要的(我不知道这么简单)。唯一的问题是,我无法在终端窗口中键入内容。批处理文件是否锁定了进程?是否有人知道我为什么不能在终端窗口中键入内容。批处理文件是否锁定了进程?然后我希望能够使用终端窗口进行sql查询。已确认。我想,当您在命令行中指定一个命令(如sqlite3
)时,ADB不会费心处理输入。交互命令不应该以这种方式调用。
adb -s emulator-5554 shell sqlite3 /data/data/com..../database.db
adb -s emulator-5554 shell <a.txt
sqlite3 /data/data/com.myProject/databases/myDatabase
logout