I\'m trying to access the database of the application I\'m developping directly on my Nexus, but I get a \"permission denied\" when I tried to execute the \"sqlite3\" command. I
Typical.
I worked around this annoyance by adding a feature to my app that backs up (copies) the DB to the SD card. adb pull
works against any sdcard files.
EDIT: fixed "adb" misspelling (was "sdp".
I had a similar problem. I pulled sqlite3 from emulator and pushed in on my device and couldn't run it - permission denied.
Apparently sqlite3 binary didn't have execute permission (-rw-rw-rw-) so chmod +x sqlite3 solved the issue.
The files are read protected, you need to root your phone or use the emulator.
I struggled with this for a while, so here's my solution, which works on an unrooted device:
#!/bin/sh
# fill these values in
PACKAGE=com.example.android
DB=something.db
# copy db to sdcard using package permission (using cat because no cp command)
adb shell "run-as $PACKAGE cat /data/data/$PACKAGE/databases/$DB > /sdcard/$DB"
# pull file from sd card
adb pull /sdcard/$DB
# do something with it (need to install sqlitebrowser obviously)
sqlitebrowser $DB