¿Cómo modificar AOSP para permitir que aplicaciones específicas obtengan acceso de root?
Estoy trabajando en AOSP . He añadido con éxito mi apk para construir. Ahora quiero dar acceso root a mi aplicación. No quiero proporcionar acceso root a otras aplicaciones o instalar la aplicación Superuser en mi compilación. Sólo quiero añadir mi aplicación para obtener acceso root. ¿Cómo puedo lograrlo?
Fui a través del archivo su.c en path system / extras / su pero no puedo entender el código completo.
- Cómo usar unix pipes en Android
- Escribir una aplicación para Android que ejecuta comandos de Linux
- ¿Es seguro deshabilitar com.android.systemui?
- No se puede ejecutar en dispositivos de producción
- Android: cambia la configuración del sistema de un dispositivo enraizado desde la aplicación
Cuando pasé por el código, creo que mi objetivo se puede lograr si pudiera modify
su.c para proporcionar acceso root a mi aplicación, compile it and add the binary
a la compilación. ¿Estoy bien?
- ADB obtener un permiso denegado a pesar de correr como root
- Obtener una lista de almacenamiento externo en Android 4.3
- Abra cualquier SQLiteDatabase como su / root
- ¿Cómo puede detectar si el dispositivo está enraizado en la aplicación?
- Permisos de Android SU: ¿Cómo usarlos?
- Crear aplicación de sistema
- ¿Puedo deshabilitar systemui desde dentro de mi aplicación android?
- Habilitar depuración USB a través de Clockworkmod con adb
Te estás moviendo en la dirección correcta. Usted necesita comprobar las fuentes para su.c
El único problema que usted puede hacer frente es cómo ejecutar su programa como raíz. Para hacer esto usted necesita fijar SUID sticky bit para el ejecutable de su aplicación. Para hacer esto debes modificar el archivo system/core/include/private/android_filesystem_config.h
(estructura android_files[]
), por ejemplo para el programa su puedes ver cómo está configurado este bit:
{ 06755, AID_ROOT, AID_ROOT, "system/xbin/su" },
ChainFire ha escrito una guía sobre su y cómo usarlo para aplicaciones normales. Si tienes la intención de trabajar con algo que no sea tu propio teléfono sugiero que este es el enfoque que sigue.