AS安装APK失败的两种情况

Posted BennuCTech

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AS安装APK失败的两种情况相关的知识,希望对你有一定的参考价值。

INSTALL_FAILED_DUPLICATE_PERMISSION

根据网上的结论,在android L即android 5.0之后添加一种机制,主要是针对自定义权限的:
不同签名的app种如果有同样的自定义权限,那么只能安装一个,安装第二个时就会报上面的错误。

经过测试,即使签名相同也不行,不知道是我操作的问题,还是android更高版本有了更严的机制。

总之,使用不同的自定义权限就没问题,一般自定义权限我们都会加入applicationid,即包名,这样就不会冲突

INSTALL_FAILED_CONFLICTING_PROVIDER

与上面的类似,在不同的app种有相同authorities的Provider。

官方解释

查看官方文档(docs/guide/topics/manifest/provider-element.html)的描述:

The Android system stores references to content providers according to an authority string, part of the provider’s content URI.

Android 系统根据 authority 字符串来储存 ContentProvider 的引用,并且 authority 还是 contentURI 的一部分。从这句话可以得出,在 Android 中 authority 必须是唯一的,不然 Android 系统如何区分开不同应用的 ContentProvider 呢?

所以解决方法一样,为provider定义authorities时可以加入applicationid,即包名,这样就会不同了。

另外注意:当修改了authorities,代码中也要进行对应的修改

关注公众号:BennuCTech,获取更多干货!

以上是关于AS安装APK失败的两种情况的主要内容,如果未能解决你的问题,请参考以下文章

As 3.0打包的apk安装失败(安装包文件损坏)

[Android]实现静默安装APK的两种方法

Junit4使用详解一:测试失败的两种情况

delphixe11apk签名无效安装失败

mac pro M1(ARM)安装:node-sass安装失败的两种解决方案

由于模拟器超时,安装失败