Reputation: 1142
I want to make it easier to access the sqlite databases on the emulator, so I've created a batch file that successfully runs the first line, but is there a way to run the second line from the batch file? (At this point adb is already running, so it would be running a command in the shell.)
adb -s emulator-5554 shell
# sqlite3 /data/data/com.myProject/databases/myDatabase
UPDATE: For some reason
adb -s emulator-5554 shell sqlite3 /data/data/com.myProject/databases/myDatabase
prevents you from using the command line. Typing and pasting both seemed to be blocked. I ran this line in a command line outside of the batch and it does the same thing.
Separate lines work fine:
adb -s emulator-5554 shell
sqlite3 /data/data/com.myProject/databases/myDatabase
but this doesn't work in the batch file (the sqlite3 command gets executed too early).
Upvotes: 1
Views: 1548
Reputation: 61341
You can use input redirection to send a stream of commands to ADB:
adb -s emulator-5554 shell <a.txt
Where a.txt
contains
sqlite3 /data/data/com.myProject/databases/myDatabase
logout
This scales better. a.txt can grow as big as you want.
Upvotes: 1
Reputation: 33193
You can run specific commands other than just an interactive shell on the target device. eg:
adb -s emulator-5554 shell ls /sdcard
or
adb -s emulator-5554 shell sqlite3 /data/data/com..../database.db
Once it gets complicated, it might be better to use a script that you copy over onto the device and run on demand.
Upvotes: 1