Durante el desarrollo de nuestras aplicaciones, y sobre todo a partir de la versión 6 de Android donde introdujeron el nuevo sistema de permisos, nos habremos encontrado con este error alguna vez. “Permission is only granted to system app

Esto se debe a que una serie de permisos se han considerado permisos qué sólo deberían usarse por el sistema tras el cambio de versión. Los IDE que normalmente usamos los marcan como si de un error de compilación se tratara. No es así (al menos de momento). Todavía puedes compilar y ejecutar tu proyecto sin ningún problema, pero puede que ni lo intentes al ver el error e busques la manera de arreglarlo, o incluso pensar que no son unos permisos especiales que no deben añadirse al manifest de nuestra aplicación.

Permission is only granted to system app
Permission is only granted to system app

Cómo arreglamos el error Permission is only granted to system app

La solución más fácil es cambiar el nivel de alerta de nuestros IDE por uno mas sensato. Ya que no es un error en realidad sino una advertencia que te está haciendo el mismo programa de desarrollo. Para ello, haremos lo siguiente según nuestro editor:

Eclipse:

Hay que buscar en el listado la opción “ID = ProtectedPermission” y cambiar el nivel de severidad que tenga asociado a uno por debajo de “ERROR“.

Android Studio:

En la sección “Android Lint”, localizaremos “Using system app permission”. Podremos desactivarlo o cambiarle la serveridad asignada por una más baja que “ERROR“.

Arreglar el error de manera individual

Otra solución, es añadir el atributo tools:ignore a la definición del permiso que nos está dando problemas. Este atributo se añade en el fichero manifest dentro de la etiqueta uses-permission

Tendremos que añadir el esquema tools de Android si no lo tenemos para que nuestro atributo funcione.

Permissions system app arreglado
Permissions system app arreglado

Fuente

Permission is only granted to system app – Android

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *