デバイスがルート化されていないため、開発したアプリのデータベースの内容を確認したいと考えています。このデータベースをデスクトップ PC にダウンロードして内容を確認するにはどうすればよいですか。astro と fileexpert で既に試しましたが、アプリのデータフォルダーにアクセスできません。これを達成することは可能ですか?
ありがとう
デバイスがルート化されていないため、開発したアプリのデータベースの内容を確認したいと考えています。このデータベースをデスクトップ PC にダウンロードして内容を確認するにはどうすればよいですか。astro と fileexpert で既に試しましたが、アプリのデータフォルダーにアクセスできません。これを達成することは可能ですか?
ありがとう
アプリケーションコードを使用して、ディレクトリからデータベースファイルをコピーする必要があり、そのファイルをシステムにプルできます。/data/data/<application_package>/database/
/mnt/sdcard
/data/data/<application_package>/database/
または、エミュレーターでアプリケーションを実行すると、エミュレーターがルート化されているため、アプリケーションにアクセスできます。
If you can plug your device into your development computer with a USB cord, you can use the adb tool. In particular, the command adb pull
can be used to retrieve any file from your device. The database file is located at /data/data/<android_package_name>/database
. Using a command-line the full command is:
adb pull /data/data<android_package_name/database
Then you can use the sqlite3
tool to connect to the database file and check that it is correct. Alternatively, you can use adb shell
to connect directly to a command-line on your device and use the devices sqlite3
tool to check out the database. (Caveat emptor: This works on the emulator. I'm uncertain whether or not sqlite3
is installed physical devices.)
いくつかのオプション:
apk がまだデバッグ ビルドである場合は、adb シェルから run-as コマンドを使用してファイルを外部ストレージにコピーし、そこから adb プルすることができます。これには UNIX シェルの知識が必要です。また、'cp' バイナリがないため、ほとんどの場合は cat とリダイレクトを使用します。
プログラムに機能を追加して、ファイルを外部ストレージにコピーして検査することができます。ファイルのコピー機能がないため、実際にコピーを行うコードを作成する必要があります。
ファイルのアクセス許可を誰でも読み取り可能に変更し、その下にあるディレクトリ ツリーを参照できないという事実にもかかわらず、直接 adb pull することができます。logcat への絶対パスを出力するか、パッケージ情報から決定することを検討してください。
デフォルトでルート化されているエミュレーターで実行できます
よりグラフィックなものが必要な場合は、IDE Eclipse からパースペクティブ DDMS に移動し、デバイスを選択し、ファイル エクスプローラー タブからパスを探し、 /data/data/ <package name of your aplicacacion> /databases
データベースのファイルを選択し、「ファイルをプルする」ボタンをクリックします。 」 (右上にあります)
次に、別のグラフィック ツールを使用する場合は、たとえば、firefox プラグイン「SQLite Manager」を使用できます。