Android 5.0 上 Failure [INSTALL_FAILED_DUPLICATE_PERMISSION的问题

本文介绍了解决Android 5.0上出现的INSTALL_FAILED_DUPLICATE_PERMISSION错误的方法。该错误通常发生在自定义权限与系统权限签名不匹配时。文章提供了具体的解决方案——使用系统签名重新签名apk。

今天在新的Android 5.0上调试程序的时候,安装一个程序,出现了Failure [INSTALL_FAILED_DUPLICATE_PERMISSION]的错误,但是在以前的Android4.4之前都没有遇到;


在网上查找,都没有找到办法,仔细看错误,发现是一个我们自己定义的权限,并不是Android本身的权限,
就怀疑是在权限上出了问题,可能需要系统的权限重新签名一下apk,
后面就使用系统的签名,重新签名了一下这个apk后,就可以顺利安装到5.0的设备上了;
总结:Android 5.0后对于权限的控制更加严格,对于自己定义的权限,Android也认为你需要一个统一的签名确认过程,成为了类似于android:sharedUserId="android.uid.system“这样的权限;
解决办法:使用系统签名重新签名一下你的apk;
当遇到 `INSTALL_FAILED_DUPLICATE_PERMISSION` 错误,即 `com.thunder.carplay` 试图重新声明已被 `com.android.systemui` 拥有的 `com.gwm.android.adapter.permission.GET_DATA` 权限时,可以尝试以下方法解决: ### 修改 `com.thunder.carplay` 应用的权限声明 在 `com.thunder.carplay` 应用的 `AndroidManifest.xml` 文件中,移除对 `com.gwm.android.adapter.permission.GET_DATA` 权限的声明。因为该权限已经被 `com.android.systemui` 应用声明,重复声明会导致冲突。 ```xml <!-- 找到并移除以下权限声明 --> <uses-permission android:name="com.gwm.android.adapter.permission.GET_DATA" /> ``` ### 检查权限命名空间 确保 `com.thunder.carplay` 应用没有错误地使用了 `com.android.systemui` 的权限命名空间。如果可能,为 `com.thunder.carplay` 应用创建独立的权限命名空间,避免与其他应用冲突。例如: ```xml <permission android:name="com.thunder.carplay.permission.CUSTOM_GET_DATA" android:label="@string/permission_label" android:protectionLevel="normal" /> ``` 然后在需要使用权限的地方使用新的权限: ```xml <uses-permission android:name="com.thunder.carplay.permission.CUSTOM_GET_DATA" /> ``` ### 联系应用开发者 如果 `com.thunder.carplay` 是第三方应用,可以联系应用开发者,反馈该权限冲突问题,让他们在后续版本中修复。开发者可以根据具体情况调整权限声明,避免与系统应用或其他应用冲突。 ### 清理应用数据和缓存 有时候,应用的数据和缓存可能会导致权限冲突问题。可以尝试清理 `com.thunder.carplay` 应用的数据和缓存,然后重新安装应用。在设备的设置中,找到“应用管理”或“应用程序”选项,选择 `com.thunder.carplay` 应用,然后点击“清除数据”和“清除缓存”按钮。 ### 检查系统更新 确保设备的操作系统和 `com.android.systemui` 应用已经更新到最新版本。有时候,系统更新会修复一些权限冲突问题。可以在设备的设置中,找到“系统更新”选项,检查并安装最新的系统更新。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值