2017-05-31 13 views
-2

私はいくつかのjsonファイルを外部ストレージに書き込むアンドロイドアプリケーションを開発しています。開発のために、書かれたjsonファイルを探したいと思っています。Android 7.0エミュレータでルートアクセスを取得するにはどうすればよいですか?

私は、/data/data/package-name/にrootアクセス権を持つこれらのファイルを見ることができます。

しかし、Android 7.0エミュレータでどのようにルートアクセス権を取得できますか?

は、私はすでに、ADBシェルともADBルートにsuコマンドを試してみました - しかし、私は、このエラーメッセージが表示されます:adbd cannot run as root in production builds

はたぶん、あなたはいくつかのアドバイスがありますか?

+1

代わりにデバッグビルドを試すことはできますか? – lucidbrot

+2

"/ data/data/package-name /にルートアクセス権を持つこれらのファイルを見ることができます。これは[外部ストレージ]ではありません(https://commonsware.com/blog/2014/04/08/ storage-situation-external-storage.html)。それは[内部ストレージ](https://commonsware.com/blog/2014/04/07/storage-situation-internal-storage.html)です。だから...あなたは内部ストレージ、または外部ストレージに書き込んでいますか? – CommonsWare

+0

私はまだデバッグビルドバリアントを使用しています。 context.getFilesDir()。getPath()+ "/" + fileNameを使用して、/ data/data/<パッケージ名> /ファイルにjsonファイルを書きます。 –

答えて

4

私はcontext.getFilesDirを()を使用してファイル//データ/データ/にJSONファイルを書いています。ある、getPath()、外部内部ストレージではありません+ "/" + fileNameに

ストレージ。

adb shell run-as ... ???を使用すると、アプリのユーザーとしてコマンドを実行できます。これにより、コマンドが内部ストレージにアクセスできるようになります。ここでは...がアプリのアプリケーションID、???がコマンドです。

したがって、例えば、そのユーザID com.foo.barであり、使用アプリのgetFilesDir()のための典型的な位置の内容を一覧表示しますデバッグアプリの

adb shell run-as com.foo.bar ls /data/data/com.foo.bar/files 

これだけ作品。

+1

ありがとう!それはまさに私が探していたものです! –

関連する問題