我在商店中有7个应用程序,但是当我尝试安装其中3个应用程序时,我尝试安装的这3个中的第二个会出现重复的提供程序权限错误。
我的所有应用都没有提供商在清单...
任何想法?
答案 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