2011-10-24 18 views
17

sto cercando di raggiungere il database SQLite sul mio dispositivo utilizzando la procedura descritta qui: How can i see SQLite Database (No emulator)?sqlite3: non trovato

Tuttavia, io continuo a ottenere sqlite3 non trovato. Suppongo di voler inserire i comandi con il segno cancelletto (#) all'inizio della riga. Ci ho provato e non ho ottenuto nulla. Senza di esso ottengo il messaggio di errore.

Il file sqlite3.exe è sicuramente lì e nel percorso.

Devo installare qualcosa?

+0

http : //stackoverflow.com/questions/3645319/why-do-i-get-a-sqlite3-not-found-error-on-a-rooted-nexus-one-when-i-try-to-op La seconda risposta in questa pagina ha funzionato per me – Joe

risposta

29

Alcuni produttori consegnano i dispositivi senza che sia installato sqlite. Puoi copiare il programma sqlite da un emulatore sul tuo dispositivo se il dispositivo ha un processore di braccio.

  1. avviare l'emulatore e utilizzare il comando adb dal platform-tools in android-sdk

    adb pull /system/xbin/sqlite3

  2. Montare la partizione di sistema del dispositivo di lettura/scrittura, dopo questo tutorial:

    http://android-tricks.blogspot.com/2009/01/mount-filesystem-read-write.html

  3. Utilizzare il adb comando per copiare il file sqlite3 al dispositivo

    adb push sqlite3 /system/xbin/

Dopo aver riavviato il dispositivo il comando sqlite3 dovrebbe funzionare.

Modifica (copia dalla pagina collegata - nel caso il collegamento non è valido). Le istruzioni per la fase 2 sono:

adb shell 
su 
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system 

"Sostituire/dev/block/mtdblock3 &/impianto con adeguato percorso del dispositivo e il punto di montaggio, come ottenuto dalla cat/proc/mounts"

+0

Provato questo, ma il comando pull ha esito negativo perché non riesce a trovare il file sqlite3. Non è in xbin. Dove posso trovarlo? – theblitz

+0

assicurati che il dispositivo fisico sia ** non ** connesso e che il tuo emulatore sia in esecuzione durante l'esecuzione di adb pull! – Dyonisos

+1

Sto ancora facendo qualcosa di sbagliato. Ho fatto cat/proc/mounts e dalla riga "/ dev/block/stl9/system" ho preso i valori. Ho quindi inserito "mount -o remount, rw -t yaffs2/dev/block/st19/system". Come posso copiare ora? Ho provato dall'interno della shell adb ma non accetterà il comando. Quando esco dalla shell, quindi inserisco il comando che afferma sia di sola lettura. – theblitz