Estamos intentando actualizar la Biblioteca de referencia de instalación de Google Play y
Internamente está agregando algunos permisos de lectura y escritura externos .
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
¿Realmente necesitamos cumplir con los permisos?
dependencia implementation 'com.android.installreferrer:installreferrer:1.1
Fuente https://developer.android.com/google/play/installreferrer/library.html
android
google-play
wadali
fuente
fuente
Respuestas:
También me he encontrado con este problema.
Pero en mi caso, la versión 1.1 también agrega el permiso READ_PHONE_STATE
Descompilé el archivo .aar para installreferrer: 1.1 y verifiqué el archivo de manifiesto y pom, no hay nada en esos archivos que indique que se deben agregar estos permisos.
El archivo de manifiesto de la biblioteca solo agrega este permiso (que siempre se tiene en versiones anteriores):
No he podido encontrar ninguna información oficial sobre esto.
Pero otras bibliotecas de Google han tenido problemas en el pasado al agregar permisos adicionales innecesarios, que luego se eliminaron en una versión de revisión poco después.
Por ejemplo, esto:
¿Por qué se ha agregado el permiso READ_PHONE_STATE?
Así que espero que pase lo mismo aquí.
fuente
uses-permission#android.permission.READ_PHONE_STATE IMPLIED from android/app/src/main/AndroidManifest.xml:1:1-130:12 reason: com.android.installreferrer has a targetSdkVersion < 4
información sobre el permiso implícito se puede encontrar en esta documentación: developer.android.com/studio/build/…El referente de instalación agrega este permiso debido al hecho de que
targetSdkVersion
es un valor inferior a la versión en la que se agregó la restricción. Si echa un vistazo al informe de fusión-manifiesto generado en la carpeta de compilación de su aplicación, puede ver esta información:Puede encontrar información sobre cómo funciona este permiso de sistema implícito en Android en esta documentación: https://developer.android.com/studio/build/manifest-merge#inspect_the_merged_manifest_and_find_conflicts
fuente
De esta respuesta :
Esto se debe a que han agregado una dependencia a
Lo que agrega esos permisos.
Puede encontrarlo en el archivo: manifest-merger-blame-debug-report.txt que se encuentra en "yourApp / build / intermedtes / manifest_merge_blame_file / debug"
Probablemente sea un error. También,
installreferrer 1.1.1
no lo resuelve.La solución más fácil es bajar de
installreferrer
nuevo a1.0
por ahora.Pero si necesita esta versión, puede agregar:
Para deshabilitarlo. Pero sepa que si usará cualquier API que la necesite dentro de la biblioteca, podría provocar un bloqueo , por lo que no recomendaré hacerlo.
fuente
Citando de esta respuesta (y completando):
Las versiones 1.1 y 1.1.1 no tienen "minSdkVersion". Esto agregaría automáticamente esos permisos (porque el SDK predeterminado <4 como lo dijo @thiagolr). Vea un problema similar aquí: Google Play Services 12.0.1 .
Solución
La versión 1.1.2 resuelve este problema.
Detalles
Manifest.xml para v1.0 (de https://mvnrepository.com/artifact/com.android.installreferrer/installreferrer/1.0 )
Manifest.xml para v1.1 (de https://mvnrepository.com/artifact/com.android.installreferrer/installreferrer/1.1 )
fuente
Se podría teóricamente eliminarlos por completo con el manifiesto de la fusión:
Pero si la biblioteca seguirá funcionando como se espera es otra historia:
Es más bien una excepción, que una biblioteca de Google requiere permisos innecesarios.
Las notas de la versión y la documentación no mencionan los permisos.
fuente
Estos permisos se agregan porque
com.android.installreferrer
tiene un targetSdkVersion <4. Puede verlo en el archivo manifest-merger-release-report.txt ubicado en Temp \ gradleOut \ build \ salidas \ logs dentro de su proyecto. Este es un error y probablemente se solucionará en una versión más nueva.Para solucionar esto, debe averiguar qué complemento se agrega
com.android.installreferrer
como dependencia.En mi proyecto, el culpable fue el complemento de Facebook . Utiliza el
com.facebook.android:facebook-core:5.15.x
paquete que se encarga de agregar lacom.android.installreferrer:installreferrer:1.1
dependencia.La solución fue revertir a
com.facebook.android:facebook-core:5.13.0
, que no tiene unacom.android.installreferrer
dependencia.Edite el archivo
FacebookSDK/Plugins/Editor/Dependencies.xml
y cambie estos paquetes a:A continuación, no olvides resolver las dependencias nuevamente:
Assets > Play Services Resolver > Android Resolver > Force Resolve
fuente
1.1.2 se lanza, agrega minSdkVersion correctamente.
fuente