「adbシェル」の後に入力するものは何でもPermission denied
で失敗します。
D:\Android-sdk-windows\platform-tools>adb Shell find /data -name *.db
find: permission denied
D:\Android-sdk-windows\platform-tools>adb Shell test
test: permission denied
D:\Android-sdk-windows\platform-tools>adb remount
remount failed: No such file or directory
何か案は?
adb help
によると:
adb root - restarts the adbd daemon with root permissions
実際に問題は解決しました。
ルート化なし:電話をルート化できない場合は、run-as <package>
コマンドを使用して、アプリケーションのデータにアクセスできます。
例:
$ adb exec-out run-as com.yourcompany.app ls -R /data/data/com.yourcompany.app/
exec-out
は、シェルを起動して出力をマングルすることなくコマンドを実行します。
「許可が拒否された」理由は、Androidマシンが正しくルート化されていないためです。 $
を開始した後、adb Shell
を見ましたか?マシンを正しくルート化した場合、代わりに#
が表示されます。
$
が表示されている場合は、su
と入力してスーパーユーザーモードに切り替えてみてください。ルートが有効になっている場合は、パスワードを要求せずに#
が表示されます。
開発者の設定メニューからadbルートを有効にする必要がある場合があります。 cmd行からadb root
を実行すると、次を取得できます。
root access is disabled by system setting - enable in settings -> development options
ルートオプション(ADBのみ、またはAppsとADB)をアクティブにすると、adbが再起動し、cmd行からルートを使用できるようになります。
data
パーティションは非rootユーザーにはアクセスできません。アクセスしたい場合は、電話をroot化する必要があります。
adb root
はすべての製品で機能せず、電話のビルドタイプに依存します。
Android studioの新しいバージョンでは、デバッグ可能なアプリの/data/data
パスを探索できます。
スラッシュに注意して、「/」の「\」を次のように変更します。adb.exe Push SuperSU-v2.79-20161205182033.apk/storage