デバッグしているAndroid端末からSQLiteのデータベースファイルを取り出す方法のメモです。
まず、DBファイルの場所を確認します。
Visual Studioの「ツール」-「Android」から「Android Adb コマンド プロンプト」を起動します。
シェルを起動し、パッケージ名を指定してrun-asコマンドを実行します。
> adb shell
(デバイス名):/ $ run-as jp.co.aimek.xxxxx
リリースビルドされたアプリでは
(デバイス名):/ $ run-as jp.co.aimek.xxxxx
run-as: package not debuggable: jp.co.aimek.xxxxx
となるので、デバッグ版が必要です。
アプリのフォルダを確認します。
(デバイス名):/data/data/jp.co.aimek.xxxxx $ ls
cache code_cache files shared_prefs
filesフォルダの中に入ります。
(デバイス名):/data/data/jp.co.aimek.xxxxx $ cd files
(デバイス名):/data/data/jp.co.aimek.xxxxx/files $ ls -a
. .. .__override__ .config .local
.localの中をさらにたどっていくと、DBファイルが見つかりました。
(デバイス名):/data/data/jp.co.aimek.xxxxx/files $ cd .local
(デバイス名):/data/data/jp.co.aimek.xxxxx/files/.local $ ls
share
(デバイス名):/data/data/jp.co.aimek.xxxxx/files/.local $ cd share
(デバイス名):/data/data/jp.co.aimek.xxxxx/files/.local/share $ ls
XXXXX.db3
シェルを終了し、adbコマンドでDBファイルを取り出します。
> adb exec-out run-as jp.co.aimek.xxxxx cat files/.local/share/XXXXX.db3 > XXXXX.db3
またいつか、どこかで。
0 件のコメント:
コメントを投稿