Ich versuche auf die Datenbank der Anwendung zuzugreifen, die ich direkt auf meinem Nexus entwickle, aber ich bekomme eine "Erlaubnis verweigert", als ich versuchte, den "sqlite3" Befehl auszuführen. Ich habe auch versucht, die adb in root mod zu starten, aber wieder, verweigert auf dem Gerät verweigert ... Ich denke, ich werde das mit dem Emulator tun müssen, aber ich habe eine Menge Daten zu laden und es wäre 10 gewesen mal schneller mit dem Handy auf Wifi als der Emulator ... Es sei denn jemand hat eine Idee? dankesqlite3 permission denied android
Antwort
Typisch.
Ich arbeitete um diesen Ärger herum, indem ich eine Funktion zu meiner App hinzufügte, die die DB auf die SD-Karte sichert (kopiert). adb pull
funktioniert gegen alle SDcard-Dateien.
EDIT:... Fixed "adb" misspelling (war "SDP"
Die Dateien geschützt sind, lesen, müssen Sie Ihr Telefon root oder den Emulator verwenden
Ich hatte ein ähnliches Problem zog ich sqlite3 von Emulator und stieß auf meinem Gerät und konnte nicht ausgeführt werden - Erlaubnis verweigert
Anscheinend sqlite3 binäre hatte keine Ausführungsberechtigung (-rw-rw-rw-) so chmod + x sqlite3 das Problem gelöst.
Ich kämpfte eine Weile damit, also hier ist meine Lösung an, das auf einem unrooted Gerät funktioniert:
#!/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
Danke @eggbert. Es war sehr hilfreich und funktionierte für mich (mit Ubuntu 10.04) und versuchte mit der Debug-App auf unrooted Gerät. – user755499
Das funktionierte, aber in meinem Handy (HTC Desire) hatte die Datenbankdatei am Ende keine Erweiterung '.db'. – HRJ
Ausgezeichnet, ................ –
yep das ist ein netter Trick. Ich werde das machen. danke – Sephy
Was ist sdp? Kannst du bitte einen Link zu sdp posten? Vielen Dank. –
@kilaka: Danke - Ich habe meinen Tippfehler behoben - sollte lesen: "Verwenden Sie den AdB Pull-Befehl" - Android Debug Bridge. –