我最近将自己的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),所以我想知道这是否可能导致了我遇到的问题。
任何帮助将不胜感激。
答案 0 :(得分:0)
您必须具有root用户访问权限(root用户设备)才能访问该文件夹。它与运行时权限无关。
答案 1 :(得分:0)
应用程序的内部存储是该应用程序的私有存储,除非它是系统应用程序或您具有root权限,否则无法从其他应用程序访问。
为了通过adb访问应用程序的内部存储,设备应该是root用户,或者应用程序应该是可调试的。请确保您没有尝试访问应用程序的内部存储。这是不可调试的。
与从Android 6开始引入的新android权限模型无关。它是与linux文件系统相关的权限。