安装 Referrer Library v1.1 添加权限

sag*_*gis 9 android install-referrer

将 Install Referrer Library 从 v1.0 更新到 v1.1 添加了以下权限:

WRITE_EXTERNAL_STORAGE

READ_EXTERNAL_STORAGE

READ_PHONE_STATE

这些权限不存在于 Install Referrer Library 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>
Run Code Online (Sandbox Code Playgroud)

来源:https : //mvnrepository.com/artifact/com.android.installreferrer/installreferrer/1.1

为什么将这些权限添加到合并的清单中?

Shi*_*e85 5

这是因为他们添加了对

com.google.android.gms:play-services-measurement:17.2.1
Run Code Online (Sandbox Code Playgroud)

它添加了这些权限。

您可以在文件中找到它: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" />
Run Code Online (Sandbox Code Playgroud)

要禁用它。
知道如果您将在库中使用任何需要它的 API,它可能会导致崩溃,因此我不建议您这样做。


sag*_*gis 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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)