Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install com.xxx.xxx 477 without first uninstalling.]
在安装apk的时候安装不上,提示应用权限冲突
原因:
不同的apk使用了相同的自定义权限,注意: 是自定义权限。一般出现在推送的自定义权限当中,比如极光
<permission
android:name="${JPUSH_PKGNAME}.permission.JPUSH_MESSAGE"
android:protectionLevel="signature" />
根源:
Android 5.0为了规范应用程序的权限申请,限制第三方应用胡乱自定义权限,保护数据安全。
在安装程序时对应用申请的自定义权限进行检查。
当新安装的应用中,如果申请的自定义权限是其他 已安装应用 已经申请过的,并且 签名不同,就会提示权限冲突并退出安装。
解决方案:
如果你是普通用户: 遇到这种问题只能是尝试卸载可能出现的冲突的应用,来保证当前应用的正常安装. 卸载的标准是寻找跟当前App同一家的开发公司的App。这种情况一般出现在游戏应用当中,尤其是这些游戏都属于同一家公司的时候。
如果你是普通开发者:如果遇到这种业务需求即两个App必须使用同一个推送权限,那就只能保证两个App使用同一个签名。
如果你是游戏开发者:
1.将推送的包名改成不一样的。
2.游戏使用同一个签名,即使用相同的签名,也架不住渠道那边自己拆包之后重新签名。
所以建议用第一个。
如果以上说的听不懂, 那么我讲一个故事方便理解, 然后再回头看,就能明白了:
情景再现:
apk A 鬼鬼祟祟,小心翼翼申请安装。
Android OS 轻蔑:行了过去吧。
apk B 战战兢兢,如履薄冰申请安装。
Android OS 轻蔑:咦,你怎么和A申请了相同的自定义权限?
apk B 畏畏缩缩:我和他是一家的。
Android OS 轻蔑:一家的?你拿什么证明?
apk B 畏畏缩缩:这有开发者给我的签名。
Android OS 轻蔑:还真是跟A同一个签名,行了,过去吧(如果不是的话直接拍死你,拒绝安装: Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install com.xxx.xxx 477 without first uninstalling.])
如果帮助到你,打赏就不必了,领个现金红包再走吧~
支付宝这一次力度够大的啊,后台看到有人居然领了 20 元,你也来试试