小编Kra*_*aba的帖子

RecoverySystem.installPackage - /cache/recovery/command:open failed:EACCESS(权限被拒绝) - 将Android更新到4.3+后缺少权限

我已经在互联网上搜索了我的问题的答案,但不幸的是我没有找到解决我的问题的方法.我甚至在官方论坛上写过这个案例,不幸的是,主持人无法应对这个问题.下面我描述问题,希望有人有类似的问题,并知道解决方案.

我创建了一个在Android 4.1上运行良好的应用程序,这就是为什么我拒绝与缺少"某些东西"相关的问题.现在,似乎在较新版本的android中是一个bug,因为在更新到Android 4.3+(API 18+)后,我的应用程序会显示以下消息:

/ cache/recovery/command:open failed:EACCESS(权限被拒绝)

我的应用程序是一个系统应用程序,因此该文件 与适当的文件访问权限(chmod)一起*.apk放在目录中/system/app/,因此它context.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM等于1.

因为应用程序使用RecoverySystem.installPackage(...)我添加权限的方法:

<uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM" /> <uses-permission android:name="android.permission.REBOOT" /> <uses-permission android:name="android.permission.DELETE_CACHE_FILES" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

超过所需的最小值,因为其中我的应用程序使用方法RecoverySystem.verifyPackage(...) 此外,此方法在更新到Android 4.3+后出现问题,但这些问题在添加(或所有)权限之后已得到解决:

<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

注意: 对于测试,我还在清单文件中添加了所有可用的权限,但这并没有解决问题.

再一次,我想强调应用程序正常工作,直到更新到android 4.3+.更新后,消息出错:

/ cache/recovery/command:open failed:EACCESS(权限被拒绝)

调用方法时会发生此错误RecoverySystem.installPackage(...).(FileWriter command = new FileWriter(COMMAND_FILE);其中COMMAND_FILE== /cache/recovery/command)

我不确定,但我认为其中一个可能的原因可能是'bootable/recovery/recovery.c'中的错误,但我找不到任何确认.

如果有人可以提供帮助,我将不胜感激.

PS为了避免互联网上的混乱,不要发布像"使用谷歌"这样的文字,"已经是 - 我已经在某个地方看到了 - 但不记得在哪里","我有同样的问题/也不适合我",以及其他无法解决问题的帖子.


@ shiri-hrw感谢您的回复.

将 …

permissions android

6
推荐指数
1
解决办法
3137
查看次数

标签 统计

android ×1

permissions ×1