データの作成、挿入、取得をアプリdbでテストしましたが、Logステートメントを使用することで機能することがわかりました。
ただし、テストを迅速化し、Androidデバイスモニターを使用したいと思います。ただし、dbが存在し、データは保存されていますが、以下にアクセスすると、data
フォルダーは空です。
なぜそうなるのでしょうか? dbファイルとコンテンツを表示するために、これをどのように構成できますか?
適切な権限がないため、フォルダー/data
を空にすることができます。それを解決するには、次のコマンドを実行する必要がありました。
adb Shell
su
これらのコマンドは、エミュレーターでシェルを起動し、ルート権限を付与します。コマンドadb
は、Android SDKのplatform-tools
フォルダーにあり、通常はMacOSの~/Library/Android/sdk/
にインストールされます。
chmod -R 777 /data
ツールA ndroid Device Monitorに表示されるように、フォルダー(およびサブフォルダー)の権限を再帰的に変更します/data
。
adb root
最後に、このコマンドはadb
をルートとして再起動します。注意してください、それは開発ビルド(通常はエミュレータービルド)でのみ動作します。
その後、フォルダー/data
の内容を表示し、そこにあるデータを転送できます。次のようなadb pull <remote> <locale>
を使用して、コンソールでも実行できます。
adb pull /data/data/<app name>/databases/<database> .
@Steven Kの回答に加えて:実際のデバイスをルート化せずにデータにアクセスしたい場合は、emulator with API 2でアプリを実行する必要があります。 (またはそれ以下)。 既知の問題 23以上のAPIは、Android Device Monitorをデプロイするときに問題を引き起こす可能性があります。
誰かが上記の問題を抱えている場合は、ターミナルウィンドウで以下の手順を実行します。
それでおしまい。問題が解決しました。
空ではありません。..デバイス上のフォルダを表示する権限がありません。
シミュレータで試してみてください。ルートアクセス権があるため、動作します。
デバイスデータ(データ/データ)フォルダーを参照する場合、2つの方法があります。
ADMロケーション YOUR_SDK_PATH\Android\sdk\tools)
adb root
を実行します。DBとテーブルを表示するだけの場合、最も簡単な方法はStetho
を使用することです。 Facobook developed
のSQLite
buitを使用するすべてのAndroid開発者にとって非常に便利なツールです。
Steps to use the tool
'compile' com.facebook.stetho:stetho:1.4.2 '
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Stetho.initializeWithDefaults(this); setContentView(R.layout.activity_main); }
次に、アプリケーションをビルドします。アプリの実行中に、URLでchromeを開くと、アプリデータベースを参照できます。
chrome://inspect/#devices
同じスクリーンショットは以下のとおりです_
ChromeInspact
---(
あなたのDB
これがすべてに役立つことを願っています! :)
API_25
でも同じ問題が発生しましたが、うまくいきませんでした。
API_23 emulator
を設定すると、API_23
で動作します。
Cmd GoToで:
C:\Users\UserName\Android-sdks\platform-tools
実行:
adb root
完了
Windowsを使用している場合は、次の指示に従ってください。
cd C:\Android\sdk\platform-tools
などのSDKパスに移動しますadb root
adb pull /data/data/ name-of-your-package /databases/name-of-your-database
と入力しますplatform-tools
というフォルダーにあります。次に、Chromeウェブストア経由でGoogle chromeにSqlite Manager拡張機能をインストールし、それを使用してエクスポートしたデータベースを表示および管理できます。
あなたが根ざした携帯電話を持っている場合は、上記と同じ指示に従うことができます。