web-dev-qa-db-fra.com

Installer la bibliothèque de référents v1.1 ajoute des autorisations

La mise à jour de la bibliothèque d'installation de référents de la version 1.0 vers la version 1.1 a ajouté les autorisations suivantes:

WRITE_EXTERNAL_STORAGE

READ_EXTERNAL_STORAGE

READ_PHONE_STATE

Ces autorisations ne sont pas présentes dans la bibliothèque 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>

Source: https://mvnrepository.com/artifact/com.Android.installreferrer/installreferrer/1.1

Pourquoi ces autorisations ont-elles été ajoutées au manifeste fusionné?

9
sagis

Les versions 1.1 et 1.1.1 ne contiennent pas "minSdkVersion". Cela ajouterait automatiquement ces autorisations. Voir un problème similaire ici: Google Play Services 12.0.1 .

Solution

La version 1.1.2 résout ce problème.

Détails

Manifest.xml pour v1.0 (à partir de https://mvnrepository.com/artifact/com.Android.installreferrer/installreferrer/1. )

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

Manifest.xml pour v1.1 (à partir de 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>
3
sagis

En effet, ils ont ajouté une dépendance à

com.google.Android.gms:play-services-measurement:17.2.1

Ce qui ajoute ces autorisations.

Vous pouvez le trouver dans le fichier: manifest-merger-blame-debug-report.txt qui se trouve sous "yourApp/build/intermediates/manifest_merge_blame_file/debug

C'est probablement un bug. Je viens de rétrograder à 1.0. Mais si vous avez besoin de cette version, vous pouvez ajouter

<uses-permission Android:name="<permission_name>" tools:node="remove" />

Pour le désactiver.
Sachez que si vous utilisez une API qui en a besoin à l'intérieur de la bibliothèque, cela pourrait entraîner un plantage donc je ne le recommanderai pas.

5
Shirane85