Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
针对Android SDK版本26的Android应用程序-无法通过ADB访问应用程序数据目录_Android_Adb - Fatal编程技术网

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

针对Android SDK版本26的Android应用程序-无法通过ADB访问应用程序数据目录,android,adb,Android,Adb,我最近将我的android应用程序更改为目标android SDK版本26(以前的版本19)。当我在Oreo设备上安装应用程序时,我尝试使用ADB通过ADB shell命令检查应用程序的数据目录(/data/data/app package name)。但命令行返回: cd:/data/data/app软件包名称:权限被拒绝 以前,当我的应用程序针对Android SDK版本19时,我可以访问该目录 现在,我已经读了很多关于堆栈溢出的文章,答案通常是你需要一个根设备或者使用某种第三方库 我注意到

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

cd:/data/data/app软件包名称:权限被拒绝

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

现在,我已经读了很多关于堆栈溢出的文章,答案通常是你需要一个根设备或者使用某种第三方库

我注意到,从API23开始,Google引入了一个新的权限模型(),所以我想知道这是否会导致我遇到的问题


任何帮助都将不胜感激。

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

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

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


而且,从android 6开始引入的新android权限模型与此无关。这是一个与linux文件系统相关的权限。

当您在19上有了目标时,您是否也在19设备上进行了测试?这与应用程序权限无关,而是与
shell
用户拥有的权限有关。我在同一个Oreo设备(API 26)上测试了应用程序(API 19和26)。这很奇怪。但无论如何,你一开始就不应该这样做,即使是在亚洲开发银行。不幸的是,您的工作流使用了一个bug。您使用的是emulator吗?在根设备上,您可以访问该文件夹,否则无法访问。我认为从棒棒糖开始,genymotion模拟器默认情况下没有根访问权限。