面向Android SDK版本26的Android应用程序-无法通过ADB访问应用程序数据目录

时间:2018-09-07 15:08:23

标签: android adb

我最近将自己的android应用程序更改为定位到Android SDK版本26(以前的版本为19)。当我在Oreo设备上安装应用程序时,我尝试使用ADB通过ADB shell命令检查应用程序的数据目录(/ data / data / app-package-name)。但是命令行返回了:

  

cd:/ data / data / app-package-name:权限被拒绝

我的应用程序针对Android SDK版本19时,以前可以访问该目录。

现在,我已经阅读了很多其他有关堆栈溢出的文章,它们的答案通常是您需要root用户的设备或使用某种第三方库。

我注意到Google从API 23开始引入了新的权限模型(https://developer.android.com/about/versions/marshmallow/android-6.0-changes),所以我想知道这是否可能导致了我遇到的问题。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您必须具有root用户访问权限(root用户设备)才能访问该文件夹。它与运行时权限无关。

答案 1 :(得分:0)

应用程序的内部存储是该应用程序的私有存储,除非它是系统应用程序或您具有root权限,否则无法从其他应用程序访问。

为了通过adb访问应用程序的内部存储,设备应该是root用户,或者应用程序应该是可调试的。请确保您没有尝试访问应用程序的内部存储。这是不可调试的。

与从Android 6开始引入的新android权限模型无关。它是与linux文件系统相关的权限。