android通过pc脚本执行sqlite3脚本

最近在调研市面上的一些android db框架,需要经常重复的输入一堆比如

adb shell
cd /data/data/com.example.testandroiddb/databases
sqlite3 demo.db
create table xxx;
insert xxx;
select * from xxx;
...

很不方便,就想写个脚本来做这些重复的工作。

主要的问题就是要多个shell之间执行命令。

解决的办法就是shell提供的输入流功能"<"

先编写sqlite3的脚本,命名为db3.sql,内容如:

.table
select * from android_metadata;

然后新建一个db.sh作为pc端执行脚本的入口,这里要把db3.sqli传到手机上,因为sqlite读取sql的时候是在android设备上。

adb push /Users/corleone/Desktop/db3.sql /sdcard/db3.sql
adb shell < /Users/corleone/Desktop/db2.sh

然后在这个/Users/corleone/Desktop/db2.sh中写好android的shell端要做的事情:


 cd /data/data/com.example.testandroiddb/databases
 sqlite3 -echo demo.db < /sdcard/db3.sql

然后给db.sh加上执行权限

chmod +x /Users/corleone/Desktop/db.sh

然后就可以愉快的直接打开sqlite了,只要执行db.sh即可。

原文地址:https://www.cnblogs.com/xirtam/p/4201140.html