1. ホーム
  2. android

[解決済み] ランアスを使って内部ストレージからデータベースやその他のファイルを取得する。

2022-08-26 15:22:12

質問

root化されていないアンドロイド端末で、データベースを含むデータフォルダに移動するために run-as コマンドを使用して、データベースを含むデータ フォルダに移動できます。ほとんどのファイル タイプは表示するだけで満足ですが、データベースについては、アンドロイド デバイスから取得したいと思います。

このような場合 download copy または move のコマンドをadb shellのこの部分から実行できますか?データベースファイルをダウンロードして、データベースブラウザを使用してその内容を表示したいのですが。

ここでの 1 つの回答は、アプリケーション パッケージ全体を圧縮アーカイブにすることですが、これが完了しマシンに移動した後にそのアーカイブを抽出する方法についてのさらなる回答はなく、そもそもより直接的なソリューションがあるかもしれないのに、非常に脱線したままになっています。

どのように解決するのですか?

設計上 user を解除するまでは、携帯電話に搭載されているものです。 ブートローダ で携帯電話をフラッシュします。 userdebug または eng ソフトウェア) へのアクセスを制限します。 内部ストレージ - へのアクセスを制限し、すべてのアプリは自分自身のファイルにしかアクセスできません。幸いなことに、ソフトウェア開発者が ルート にアクセスする方法を提供しています。 内部ストレージ デバッグ可能 を使用して、パッケージの run-as コマンドを使用します。

をダウンロードするには /data/data/debuggable.app.package.name/databases/file をAndroid 5.1以上の端末からダウンロードするには、次のコマンドを実行してください。

adb exec-out run-as debuggable.app.package.name cat databases/file > file

の下のフォルダにある複数のファイルをダウンロードするには、以下のようにします。 /data/data/debuggable.app.package.name/ にある複数のファイルを一度にダウンロードするには tar :

adb exec-out run-as debuggable.app.package.name tar c databases/ > databases.tar
adb exec-out run-as debuggable.app.package.name tar c shared_prefs/ > shared_prefs.tar