4

ルート化された Nexus One があり、端末で次のコマンドを発行すると、開発中のアプリのデータベースを表示できます。

adb shell
su 
cd data/data/.../databases/
sqlite3 events.db

これで問題なく動作しますが、ファイルをプルして、GUI SQLITE アプリケーション/ブラウザー (Firefox プラグインなど) で表示できるようにしたいと考えています。

以前は、FileExplorer を使用して Eclipse からデータ フォルダーにアクセスできましたが、突然機能しなくなりました。もう一度アクセスできる方法があるかどうか疑問に思っています..

ありがとうございました

4

3 に答える 3

5

Google で多くの調査を行った結果、Eclipse で SQLite データベースに簡単にアクセスできるようになりました。Eclipse 内で表示するために、接続またはエミュレートされた Android 電話で SQLite データベースにアクセスするための回答をここにまとめます。

デバイス上の特定のアプリからファイルを参照するには、アプリへのパスにある各フォルダーの読み取りおよびアクセス権限を付与します。

  1. コマンド/ターミナルを開く
  2. 「adbシェル」と入力します
  3. デバイスで「許可」を押します
  4. chmod 777 /data /data/data /data/data/com.application.package
  5. chmod -R 777 /data/data/com.application.package

この後、デバイス上のファイルを参照できるようになります。

Eclipse内から Android フォンの SQLite データベースを参照するための非常に便利な Eclipse プラグインは、サポートされていないように見える Questoid ブラウザー プラグインです。

  1. 現在、Java2S からプラグインをダウンロードできます: http://www.java2s.com/Code/Jar/c/Downloadcomquestoidsqlitebrowser120jar.htm
  2. プラグインの com.questoid.sqlitebrowser_1.2.0.jar ファイルを Eclipse プラグイン フォルダー (例: /path/to/eclipse/plugins) に配置します。
  3. エクリプスを再起動する
  4. Eclipse で DDMS パースペクティブに切り替える
  5. 適切なデバイスを選択します (この場合は携帯電話ですが、代わりに Android エミュレーター)
  6. [ファイル エクスプローラー] タブに移動して、デバイスのファイルを参照します。
  7. /data/data/com.application.package/databases/database_name でデータベースを検索して選択します
  8. Eclipse では、ファイル エクスプローラーで、クリックしたファイル エクスプローラー ウィンドウの右上隅に、パンケーキのような青い 3 層の円柱アイコンがあります。

    ファイル エクスプローラー ウィンドウの右上隅にある青い 3 層のパンケーキのようなシリンダー アイコンをクリックします http://www.tylerfrankenstein.com/sites/default/files/styles/large/public/questoid.png

    これにより、LogCat と同じウィンドウの Questoid タブでデータベース ファイルが開きます。

  9. 「Questoid SQLite Browser」タブをクリックします
  10. [データの参照] サブタブをクリックします。
  11. ドロップダウンメニューからテーブルを選択してください
  12. そして...あなたは楽しみを見るためのデータを持っています

データベースを表示するためのステップバイステップとして、この投稿がより具体的に役立つことを願っています.


参考文献

于 2013-09-15T07:34:16.573 に答える
3

現在、adb シェルがデフォルトで root にならないようにデバイスが設定されているようです。root シェルを取得するには su を使用する必要があります。Eclipse の DDMS ファイル エクスプローラーはこれを行わないため、デフォルトで adbd がルートとして実行され、クライアントにルート アクセスを提供するように設定されている場合、ルート アクセスのみが許可されます。

これをadbシェルからチェックアウトできます

ps 

(「ps」プロセスがルートまたはシェルとして実行されているかどうかを確認します) または

getprop ro.secure

su root シェルを使用すると、root ファイルシステムを再マウントし、default.prop で ro.secure を 0 に変更できます。とりわけ、これにより、adbd が root として実行され、デフォルトで root シェルが許可されます。ただし、これにはセキュリティへの影響があり、そのままにしておくのは望ましくない場合があります。特定のデバイスの正確なシェル再マウント コマンドを Web 検索する必要があります (adbd がまだルートになっていない場合、adb の便利なコマンドは機能しないため)。

「adb root」コマンドが機能して adbd をルート モードにするかどうかも確認できます。

構成変更が行われたという意味でシステムが「ルート化」されていない可能性がありますが、ルートシェルを取得する可能性を知っている特権のないユーザーを許可するカスタム su バイナリが存在するという意味でのみ -ストックツールはその可能性を認識していないため、実行できません。

于 2011-08-08T14:58:59.733 に答える
1

あなたが試すことができます

adb pull /data/data/.../databases/events.db

またはそのようなものでsqliteファイルをハードドライブにプルして開きます。

于 2011-08-12T08:58:24.300 に答える