やしのブログ

無能底辺院生やらせていただいてます

Androidアプリ内のSQLiteデータベースファイルをパソコンに持ってくる

毎回引っかかてる気がしたのでいい加減覚えるためにメモ
ググってよく見つかる方法だとなぜかうまくいかないし

環境に依存してそうなので以下に環境を載せておく

  • 502sh(Android5.1.1)
  • Windows10

以下がpullするまでのコマンド

C:\Users\vayacico>adb shell
shell@SG502SH:/ $ run-as com.vayacico.suicakeeper2
shell@SG502SH:/data/data/com.vayacico.suicakeeper2 $ chmod 777 databases/dbname.db
shell@SG502SH:/data/data/com.vayacico.suicakeeper2 $ exit
shell@SG502SH:/ $ cp /data/data/com.vayacico.suicakeeper/databases/user.db /sdcard/
shell@SG502SH:/ $ exit
C:\Users\vayacico>adb pull /sdcard/user.db
/sdcard/user.db: 1 file pulled. 1.8 MB/s (28672 bytes in 0.015s)

C:\Users\vayacico>

ググって見つかる多くの方法だとrun-as内で直接SD直下にコピーできてるっぽいんだけど自分の環境でやるとPermission deniedされる.
というわけで脳死でchmod 777して通常ユーザーから見れるようにしてからコピーした.

バージョン間の問題かな?