web-dev-qa-db-ja.com

adbシェルからsqlite3をインストールまたはアクセスする方法

Adbシェルにsqlite3をインストールするか、何らかの方法でアクセスする方法が必要です。デバイスをルート化しました。

私は答えを見つけようとしましたが、私が来ることができたクローズは次のとおりです: adbシェルを使用してデータベースを開こうとすると、ルート化されたNexus Oneで「sqlite3:notfound」エラーが発生するのはなぜですか?

しかし、LinuxシステムでWindows sqlite3.exeをプッシュするのは良い考えではないと思いますか?

では、どういうわけかsqlite3ターミナルブラウザをインストールすることは可能ですか?

[解決策]

さまざまなコメントと#Android-dev(irc)での質問から、解決策を見つけました。まず、データベースファイルをデスクトップにコピーしました。しかし、cpが含まれていないので、最初にBusyBoxをインストールする必要がありましたか?!?その後、/ sdcard /以外の場所からプルまたはプッシュできないという問題が発生しました。次に、/ sdcard /を「ミドルステーション」として使用し、データベースをプル/プッシュすることができます。

それから私は疲れ果てました!私は本当にsqliteターミナルを探索する必要がありました。次に、エミュレータを起動して/ system/xbin/sqlite3からsqliteバイナリをプルするというアイデアを思いつきました。次に、/ systemをrwで再マウントします。

# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

sqliteを/ sdcard /にプッシュし、そこから/ system/xbin /にコピーします。

今それは動作します:D

15
DNRN

私はRajathの手法を使用しています... Adbエミュレーター/デバイスからdbを「プル」して作業し、次にadb「プッシュ」してエミュレーターデバイスに戻します。

また:私はAndroid Marketから無料のSQLiteEditorを使用しています。私はLG Allyをルート化していないため、SQLiteを使用してSDカード上のデータベーステーブルのみを編集できます。編集者。

Rajathは、adbを使用して、エミュレーター/デバイスとの間でデータベースをプッシュおよびプルすることを提案しています。あなたが持っているwindows(または何でも)sqlite3プログラムを使ったデータベースでの作業。彼は、Windowssqlite3をAndroidデバイス、IMHOに置くことを提案していません。

Java/Androidの「query()」は、実際のSQLコマンドをプログラムでユーザー入力のあるプログラムに送信することに注意してください。私はsqlite3がAndroidどこかにあると結論付けます。

エミュレーターを使用する場合、開発ツールが使用可能であり、リストの一番下にあるのはターミナルエミュレーターです。これにより、エミュレーターでAndroidのファイル構造を調べることができます。ただし、PCから「adbShell」を使用する場合はroot権限があります。

幸運を。サボテンミッチ

1
cactusmitch

Google Playからこのアプリをダウンロードすると、sqlite3をAndroid https://play.google.com/store/apps/details?id=ptSoftにインストールするのに役立ちます.util.sqlite3forroot

5
ax003d

これは、adbShellを使用して問題なく実行できます。

ターミナルまたはCMDで(ADBパスが設定されていて、電話にROOTがあると仮定)、次のように入力します。

  1. $ adb Shell
  2. $ cd data/data/com.nameofyourpackage/databases/
  3. $ ls to find the name of your database
  4. $ sqlite3 nameofyourdb.db

次に、.tables.schemaを使用して、適切なクエリを作成するために必要なデータを確認できます。

1
Nick

デバイスからデータベースをプルするのにrootは必要ありません。次のコマンドを実行するだけです。

adb Shell run-as <package-name> "cp databases/<db_name>.db /sdcard/ && exit"
adb pull /sdcard/<db_name>.db ~/Downloads/

そこから、使用しているオペレーティングシステム( http://www.sqlite.org/download.html )にsqlite3を使用するか、「DB BrowserforSQLite」などのsqliteブラウザーを使用できます。 ( http://sqlitebrowser.org/

0
Chris