2011-10-24 2 views
17

Je suis en train d'atteindre la base de données SQLite sur mon appareil en utilisant la procédure décrite ici: How can i see SQLite Database (No emulator)?sqlite3: Introuvable

Cependant, je continue à obtenir sqlite3 pas trouvé. Je suppose que je suis censé entrer les commandes avec le signe dièse (#) au début de la ligne. J'ai essayé avec et je n'ai rien. Sans cela, je reçois le message d'erreur.

Le fichier sqlite3.exe est définitivement là et dans le chemin.

Dois-je installer quelque chose?

+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 deuxième réponse sur cette page a fonctionné pour moi – Joe

Répondre

29

Certains fabricants livrent les périphériques sans que sqlite ne soit installé dessus. Vous pouvez copier le programme sqlite à partir d'un émulateur sur votre appareil si celui-ci dispose d'un processeur de bras.

  1. Lancez l'émulateur et utilisez la commande adb de la platform-tools dans android-sdk

    adb pull /system/xbin/sqlite3

  2. Monter la partition système de votre appareil de lecture/écriture après ce tutoriel:

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

  3. Utilisez le commande adb pour copier le fichier sur votre appareil sqlite3

    adb push sqlite3 /system/xbin/

Une fois que vous redémarrez votre appareil la commande sqlite3 devrait fonctionner.

Édition (copie à partir de la page liée - dans le cas du lien devient invalide). Les instructions de l'étape 2 sont les suivantes:

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

"Remplacer/dev/block/mtdblock3 &/système de trajet de dispositif approprié et le point de montage, tel qu'il est obtenu à partir de cat/proc/mounts"

+0

Essayé ceci mais la commande de traction échoue parce qu'elle ne peut pas trouver le fichier sqlite3. Ce n'est pas dans xbin. Où puis-je le trouver? – theblitz

+0

Assurez-vous, s'il vous plaît, que le périphérique physique n'est pas ** connecté ** et que votre émulateur est en cours d'exécution lors de l'exécution de la commande adb! – Dyonisos

+1

Je fais toujours quelque chose de mal. J'ai fait cat/proc/mounts et de la ligne "/ dev/block/stl9/system" j'ai pris les valeurs. J'ai ensuite entré "mount -o remount, rw -t yaffs2/dev/block/st19/système". Comment puis-je copier maintenant? J'ai essayé de l'intérieur du shell adb mais il n'acceptera pas la commande. Lorsque je quitte le shell, puis entrez la commande, il prétend qu'il est en lecture seule. – theblitz