2010-06-10 13 views
12

Próbuję uzyskać dostęp do bazy danych aplikacji rozwijam bezpośrednio na moim Nexusie, ale dostaję "odmowa zgody", gdy próbowałem wykonać polecenie "sqlite3". Próbowałem również uruchomić adb w trybie root, ale znowu odmówiono zgody na urządzeniu ... Chyba będę musiał to zrobić z emulatorem, ale mam dużo danych do załadowania i byłoby to 10 razy szybciej z telefonem na WiFi niż emulator ... Chyba, że ​​ktoś ma jakiś pomysł? dziękujePozwolenie sqlite3 odmowa Androida

Odpowiedz

3

Typowe.

Pracowałem nad tym uciążliwością, dodając funkcję do mojej aplikacji, która tworzy kopię (kopie) DB na karcie SD. adb pull działa przeciwko dowolnym plikom sdcard.

EDIT:... Stałe „adb” ortograficzny (był „SDP”

+0

Tak, to niezła sztuczka. Zrobię to. dzięki – Sephy

+0

Co to jest SDP? Czy możesz przesłać link do sdp? Dziękuję Ci. –

+0

@kilaka: Dzięki - poprawiłem swój błąd - powinienem przeczytać: "użyj polecenia ściągania adb" - Android Debug Bridge. –

4

Pliki odczytywane są chronione, trzeba wykorzenić telefon lub skorzystać z emulatora

0

miałem podobny problem Wyciągnąłem sqlite3 z emulatora i wciśnięty na moim urządzeniu i nie mógł go uruchomić - odmowa udzielenia zgody

Najwyraźniej binarny sqlite3 nie miał uprawnień do wykonywania (-rw-rw-rw-), więc chmod + x sqlite3 rozwiązało problem.

8

Walczyłem z tym przez chwilę, więc oto mój soluti włączone, które działa na urządzeniu unieważnionym:

#!/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

Dziękujemy @eggbert. Jest bardzo pomocny i pracował dla mnie (używając Ubuntu 10.04) i wypróbowany z aplikacją do debugowania na nieukorzenionym urządzeniu. – user755499

+0

To zadziałało, ale w moim telefonie (HTC Desire) plik bazy danych nie miał na końcu rozszerzenia ".db". – HRJ

+0

Doskonała, ................ –