目的
Android端末からRealmデータを取得する方法です。
環境
- Mac catalina
- Android Studio 3.5.3
参照サイト
Qiita Android端末内のRealmデータ確認
上記の内容とほとんど似ているものですが、
バージョン違いで異なっていたり、簡略化出来る箇所は省いております。
adbコマンドの確認
以降はMacのターミナルでのコマンド操作です。
Android StudioのTerminalでも出来そうですが。
まずPCよりadb
コマンドを取得できるようにします。
$ adb
-bash: adb: command not found
となった場合は、ライブラリにPathが通ってないので設定します。
ライブラリの場所の確認は
Android Studio -> メニューのPreference -> Appearance & Behavior -> System Settings -> Android SDK
の
Android SDK Location
から確認出来ると思います。
PATHを通すコマンドは以下となります。(XXXはユーザ名など)
export PATH=$PATH:/Users/XXX/Library/Android/sdk/platform-tools
可能であればprofileにも記載します。
$ vi ~/.bash_profile
$ source ~/.bash_profile
これでadb
コマンドを実行し、バージョンやコマンドオプションなどが表示されれば、OKです。
Realmデータ取得方法
Realmデータを取得します。
まず、データを保存できるディレクトリに移動します。
ちなみに、PC(Mac)とAndroid端末をUSBなどで接続します。
データ転送なしの状態でもRealmデータは取得できました。
そして、以下コマンドで端末にアクセス
私の環境はbonito
プロンプトになりました。
$ adb shell
bonito:/ $
以下コマンドでアプリのRealmデータが有る場所まで移動します。
cd
コマンドとrun-as
コマンドを利用したほうが良いと思います。
YYYYの場所はアプリのapplicationId
です。com.xxxx.yyyyのような。
コマンド補完が効かないような気がします。
bonito:/ $ cd /data/data
bonito:/data/data $ run-as YYYY
bonito:/data/data/YYYY $ cd files
以下コマンドで、realmデータをMacから参照できるAndroid端末の領域にコピーします。
コピー後は抜けます。
bonito:/... $ cat default.realm > /sdcard/default.realm
$ exit(2回必要)
プロンプトが自分のPC環境になったことを確認し、以下コマンドでPCにRealmデータを転送します。
$ adb pull /sdcard/default.realm ./
これで、RealmデータがPC上で参照できます。
Realm Studio
などでデータの確認が行なえます。
ちなみに
参照サイトにあるように
Chromeブラウザから簡単に確認できる方法もあるようです。
上の取得方法だと少し面倒だと感じました。
次回はブラウザの手法を試してみます。
http://facebook.github.io/stetho/
https://github.com/uPhyca/stetho-realm