将安装引荐来源库从v1.0更新到v1.1,添加了以下权限:
WRITE_EXTERNAL_STORAGE
READ_EXTERNAL_STORAGE
READ_PHONE_STATE
“安装引荐来源网址”清单manifest.xml中不存在这些权限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.installreferrer" >
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />
<application />
</manifest>
来源: https://mvnrepository.com/artifact/com.android.installreferrer/installreferrer/1.1
为什么将那些权限添加到合并清单中?
答案 0 :(得分:3)
这是因为他们为
添加了依赖项com.google.android.gms:play-services-measurement:17.2.1
其中添加了这些权限。
您可以在文件上找到它: manifest-merger-blame-debug-report.txt 在“ yourApp / build / intermediates / manifest_merge_blame_file / debug
可能是一个错误。我目前刚刚降级到1.0。 但是,如果您需要此版本,则可以添加
<uses-permission android:name="<permission_name>" tools:node="remove" />
要禁用它。
知道,如果您在库中使用任何需要它的API,可能会导致崩溃,因此我不建议您这样做。
答案 1 :(得分:3)
版本1.1和1.1.1缺少“ minSdkVersion”。这将自动添加这些权限。在此处看到类似的问题:Google Play Services 12.0.1。
解决方案
版本1.1.2解决了此问题。
详细信息
v1.0的Manifest.xml(来自https://mvnrepository.com/artifact/com.android.installreferrer/installreferrer/1.0)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.installreferrer" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="22" />
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />
<application />
</manifest>
v1.1的Manifest.xml(来自https://mvnrepository.com/artifact/com.android.installreferrer/installreferrer/1.1)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.installreferrer">
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />
<application />
</manifest>