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即可。