Red de conocimiento informático - Material del sitio web - Cómo elevar los permisos de la aplicación para modificar las propiedades del sistema Android

Cómo elevar los permisos de la aplicación para modificar las propiedades del sistema Android

La clase systemproperties está en android.os, pero esta clase está oculta y no puede ser utilizada directamente por el desarrollo de programas de capa superior. De hecho, esta clase se puede utilizar con la ayuda del mecanismo de reflexión de Java. ¿Qué es el mecanismo de reflexión de Java? Estúdielo y aprenda usted mismo. No lo presentaré uno por uno aquí, pero lo incluiré en un artículo posterior. A través de JNI, puede omitir la clase Systemproperties y realizar llamadas locales directas para crear, obtener y modificar propiedades del sistema. No se presentará aquí y se presentará en artículos posteriores.

Utilice Systemproperties.set (nombre, valor) para crear y modificar atributos de Android, y utilice Systemproperties.get (nombre) para obtener atributos de Android. Cabe señalar que los nombres de los atributos de Android tienen ciertos requisitos de formato. , de la siguiente manera Como se muestra: El prefijo debe ser Prefijo, que debe ser el prefijo definido en system\core\init\property_service.c, y el programa que establece la propiedad debe ser el prefijo definido en Systemproperties.set(nombre, valor) . c, y el programa que establece las propiedades del sistema también debe tener permisos del sistema o permisos de root.

¿Cómo elevar los permisos de un programa de Android a permisos del sistema? El método es el siguiente:

1. En AndroidManifest.xml, agregue android:sharedUserId="android.uid.system" al manifiesto.

2. En Android.mk, cambie LOCAL_CERTIFICATE := XXX a LOCAL_CERTIFICATE := plataforma.

Después de completar los dos pasos anteriores, puede actualizar los permisos de la aplicación a permisos del sistema. Sin embargo, utilizar este método para elevar privilegios tiene las siguientes dos desventajas:

1. El propietario del programa debe poseer el código fuente del programa

2. El programa también debe poseer el entorno de desarrollo de Android, es decir, puede crear todo el sistema Android.

¡Generalmente quienes pueden hacer estas dos cosas son básicamente desarrolladores!