una solicitud quitar puedo programacion permisos permiso obstaculizando necesario los inhabilitaste esta dar contactos como app aplicaciones administrador activar android permissions findbugs lint

solicitud - Limpiar los permisos de Android no utilizados



permisos aplicaciones android 5 (7)

Si quería investigar cómo y dónde se usaron los permisos [solicitados en Mainfest.xml] en una aplicación de Android para eliminarlos, ¿hay alguna manera fácil de hacerlo? ¿Pelusa o findbugs ofrecen algún tipo de soporte para el seguimiento de los permisos utilizados / abusados ​​en un proyecto?



En el archivo de manifiesto de su aplicación, debe tener una pestaña "Manifiesto combinado" donde puede ver su manifiesto final y los permisos que solicita puede hacer clic en un permiso para ver de dónde proviene. (quien lo agregó - ex '': sdk o de qué código proviene)

También hay una manera simple de eliminar un permiso agregando al manifiesto:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" tools:node="remove" />

También recuerde agregar las herramientas en la parte superior:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="...">


La forma en que lo haría para una aplicación para la que no escribí el código sería eliminar los permisos uno por uno y probar la aplicación de extremo a extremo cada vez. Cuando falla, acóbalo. Si no, ese permiso no puede ser utilizado.


La mejor manera es entender lo que realmente puede hacer. Si alguna vez usará la cámara, entonces sabrá que necesita el permiso de la cámara.


O simplemente podría aprender qué hace su aplicación y luego revisar los permisos y ver cuáles son extra. ¿Qué hace tu aplicación? ¿Qué características del teléfono usa? Debería haber alguna documentación en algún lugar sobre lo que debería hacer y qué métodos hay allí


Tendrás que intentar eliminarlos uno por uno y verificando si la aplicación todavía funciona bien. Esto no se controla con pelusa de ninguna manera (debería ser).

Cuando regresen (actualmente están caídos), puedes subir tu apk a este sitio web (si te parece bien) y dejar que analicen de forma estática los permisos que estás usando: http://www.android-permissions.org/


Vine del futuro para salvar sus vidas.

Aquí (en el futuro), LINT comprueba si faltan permisos como se puede ver en las comprobaciones de LINT .

  • Por lo tanto, vaya a su AndroidManifest.xml y elimine todas las etiquetas <uses-permission> con los permisos de Android (es decir, no elimine los permisos que pertenecen a su aplicación, como UA_DATA y C2D_MESSAGE ).
  • Luego ejecute el análisis LINT. Haga clic en Analyze luego Inspect Code...
  • Busque en Android -> Constant and Resource Type Mismatches
  • Debería ver todos los permisos faltantes.
  • A continuación, puede hacer clic con el botón derecho en ellos y seleccionar Apply fix "Add Permission" . Si selecciona esta opción, Android Studio incluirá un permiso por cada error. Entonces terminará con varias copias del mismo permiso en su archivo Manifest, simplemente elimine los duplicados. Puedes hacerlo manualmente también.

Aquí está la descripción de la regla de PISTA:

ID ResourceType

Descripción

Esta inspección analiza las llamadas de la API de Android que se han anotado con varias anotaciones de soporte (como RequiresPermission o UiThread) y señala todas las llamadas que no están utilizando la API correctamente como se especifica en las anotaciones. Ejemplos de errores marcados por esta inspección:

  • Pasar el tipo incorrecto de entero de recurso (como R.string) a una API que espera un tipo diferente (como R.dimen).
  • Olvidando invocar el método reemplazado (a través de super) en métodos que lo requieren
  • Llamar a un método que requiere un permiso sin haber declarado ese permiso en el manifiesto
  • Pasar una referencia de color de recurso a un método que espera un valor entero RGB.

...y muchos más. Para obtener más información, consulte la documentación en http://developer.android.com/tools/debugging/annotations.html

Estoy usando Android Studio 2.1.2.