エミュレーターはroot権限なので/data/data/パッケージ名/以下のファイルが見られますが、実機では権限が無いため見られません。
「実機でも見られたらデバッグ捗るのになぁ」というお話。
前提条件
AndroidManifest.xmlの
android:debuggableが"true"であること。
※明示的にdebuggableを指定していない場合はデバッグビルド / リリースビルドでtrue / falseを勝手に切り替えてくれる
手順
adb shell
run-as パッケージ名
ran-asコマンドにより、指定したアプリ(パッケージ名)のユーザーに切り替わるので/data/data/パッケージ名/以下が見られるようになる。
あとは、/data/data/パッケージ名/shared_prefs/以下にあるプリファレンスのxmlファイルをcatコマンドで表示すれば内容が確認できます。
注意事項
便利なrun-asコマンドですが、すべての実機で使えるわけではないようです。
以下、動作確認結果です。
[OK] Nexus S
[OK] ICONIA TAB A500
[NG] IS11LG *コマンド実行権限はあるが...
[NG] IS06 *コマンド実行権限なし
[NG] IS01 *コマンド実行権限なし
データベースも!と思ったのですが、sqlite3コマンドの実行権限が無かったり、そもそもsqlite3コマンドが無かったりでだめでした。。
0 件のコメント:
コメントを投稿