2010-06-10 12 views
12

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

3

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"

+0

yep das ist ein netter Trick. Ich werde das machen. danke – Sephy

+0

Was ist sdp? Kannst du bitte einen Link zu sdp posten? Vielen Dank. –

+0

@kilaka: Danke - Ich habe meinen Tippfehler behoben - sollte lesen: "Verwenden Sie den AdB Pull-Befehl" - Android Debug Bridge. –

4

Die Dateien geschützt sind, lesen, müssen Sie Ihr Telefon root oder den Emulator verwenden

0

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.

8

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 
+0

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

+0

Das funktionierte, aber in meinem Handy (HTC Desire) hatte die Datenbankdatei am Ende keine Erweiterung '.db'. – HRJ

+0

Ausgezeichnet, ................ –

Verwandte Themen