# sqlite3 /data/data/com.moodme.Android/databases/moodme
sqlite3 /data/data/com.moodme.Android/databases/moodme
sqlite3: not found
Androidエミュレーターで、sqlite3
は/system/xbin
にあります。NexusOne(Android 2.2)には/system/xbin
がありません。したがって、sqlite3
はNexus Oneにインストールされていません。
別の方法として(ただし、安全ではないかもしれませんが)、いつでもsqlite3
バイナリから/system/bin
これは私のために働いた:
まず、/system/
読み取り/書き込みを許可する(rw)
$ adb Shell
$ su
# mount -o remount,rw /system
別の端末でディレクトリを変更(cd)する場所sqlite3
であり、プッシュすることができます
$ ls
sqlite3
$ adb Push sqlite3 /sdcard/
次に、他のシェルに戻り、バイナリの権限をコピーして変更します
# cat /sdcard/sqlite3 > /system/bin/sqlite3
# chmod 4755 /system/bin/sqlite3
次に、/system/
読み取り専用(ro)
# mount -o remount,ro /system
そして、シェルからsqlite3を使用できるようになりました。
# sqlite3 /data/data/com.telly/databases/fun.db
SQLite version 3.7.4
Enter ".help" for instructions
sqlite> .tables
Android_metadata lulz
注: 「SuperOneClickv1.6.5-ShortFuse」に付属しているsqlite3バイナリを使用しています
いつでもsqlite3
エミュレーターからのバイナリ:
エミュレーターを起動してからターミナルから
$ adb pull /system/xbin/sqlite3
あなたが私のような怠け者であれば、あなたは ICSまたはそれ以前 のためにここからダウンロードしてください==または Jelly bean以降
必ずAndroidバージョンに適切なものを使用してくださいeloc_library[1306]: 14446 cannot locate 'sqlite3_enable_load_extension'...
または実行時の同様のエラー
Evelioの答えから、sqlite3ファイルを/ system/binにプッシュするのに問題がありました。そのため、代わりに/ sdcardにプッシュしました。
このスレッドで私は正しい解決策を見つけました(Kilaの答え): ルート化されたNexusOneにsqlite3をインストールする方法はGingerbreadを実行します
$ adb Push sqlite3 /sdcard/
$ adb Shell
$ su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# dd if=/sdcard/sqlite3 of=/system/bin/sqlite3
# chmod 4755 /system/bin/sqlite3
# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
2.3.3のSamsung Galaxy S IIで動作します。
Root化されていないデバイスにsqlite3をインストールするには、FYRのGalaxy S3で機能することが証明されています。
$ adb -e pull /system/xbin/sqlite3 # get sqlite3 binary from emulator with the same CPU Arch.
$ adb -d Push sqlite3 /mnt/sdcard # Push it
$ adb -d Shell
$ run-as <PACKAGE_NAME> # run as your app, which should be debuggable.
$ cd databases; pwd
/data/data/<PACKAGE_NAME>/databases
$ cat /mnt/sdcard/sqlite3 > sqlite3 # copy it to internal storage directory
$ ls -l sqlite3
-rw-rw-rw- u0_a138 u0_a138 36860 2014-03-26 06:37 sqlite3
$ chmod 777 sqlite3 # change mode bits, to be executable
$ ./sqlite3 # now it works on your NON-ROOTED device
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
Nexus 4で次の操作を行います。
adb Shell
$ su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# dd if=/sdcard/sqlite3 of=/system/xbin/sqlite3
# chmod 777 /system/xbin/sqlite3
# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
フォルダーは/ system/xbinであり、chmodは777であることに注意してください。
この問題について誰かに役立つかもしれないいくつかの情報
作業用のsqilte3ファイルバイナリをどこからコピーすればよいか疑問に思う人のために:
エミュレータを使用して、作業用バイナリを取得できます。ビルドが_ 86、_64、またはARMに基づいているかどうかを確認する前に、このイメージを複製する必要があります。 。
自分のバージョンを確認するAndroid device
https://www.quora.com/How-can-I-check-whether-my-Android-phone-is-32-bit-or-64-bit
Building ARM in Android studio
Android Studio-ARMを使用してAVDを作成するにはどうすればよいですか?
次に、以下のメモを使用して、マシン間でファイルを移動し、Androidデバイスに戻します。
adbを書き込み可能にする
Android Emulator sdcard Push error:Read-only file system
adbからローカルデバイスマシンへのファイルのコピー
Android with adb pull)から選択したファイルをコピーする方法
根ざしたデバイスnexus 4では、これらのリンクがこのページの指示と連動していました。それが誰かを助けることを願っています。重要なのは、adb経由でデバイスに書き込み許可を取得するためにマウントする必要があるということです。