9

将 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>

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

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

4

2 回答 2

5

这是因为他们添加了一个依赖项

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,它可能会导致崩溃,所以我不建议这样做。

于 2019-12-11T10:36:24.180 回答
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>
于 2020-02-05T12:31:45.537 回答