在没有提供商的应用上,Android重复提供商权限

时间:2015-10-28 17:12:18

标签: android

我在商店中有7个应用程序,但是当我尝试安装其中3个应用程序时,我尝试安装的这3个中的第二个会出现重复的提供程序权限错误。

我的所有应用都没有提供商在清单...

任何想法?

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。然后我按照Commonsware上面comment的建议检查了完整的清单。我的完整清单是有一个提供程序,但它是从play-service-measurement库模块合并的,所以乍一看它对我来说没问题。

但实际上由于它的权威它有问题。此提供程序已在其清单中正确声明了其权限属性,并以${applicationId}占位符作为前缀。但是由于构建系统中的错误,如果应用程序的build.gradle没有任何applicationId,则此占位符将被库的包名替换,而不是我们的应用程序'包名。这可能会导致多个应用程序对此提供程序具有相同的权限。这个问题是a link

作为一种解决方法,我们可以在build.gradle中声明一个applicationId,在大多数情况下,它可以与清单中的包名保持一致。如果您想为这两者保留不同的值,可以进一步了解differences between manifest's package name and build.gradle's applicationId

答案 1 :(得分:2)

仅在Lollipop 5.0.1设备上发生这种情况。只有在您applicationId上未声明build.gradle时才会发生这种情况。这是由于使用applicationId参数进行播放服务测量。

declare applicationId "com.your.package" on your gradle