sqlite3 permission denied android

前端 未结 4 1101
再見小時候
再見小時候 2021-02-13 22:19

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

相关标签:
4条回答
  • 2021-02-13 22:34

    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".

    0 讨论(0)
  • 2021-02-13 22:36

    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.

    0 讨论(0)
  • 2021-02-13 22:40

    The files are read protected, you need to root your phone or use the emulator.

    0 讨论(0)
  • 2021-02-13 22:53

    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
    
    0 讨论(0)
提交回复
热议问题