2 votos

Modificar AOSP para ejecutar un comando de shell específicos de inicio en Android 6.0

Estoy tratando de modificar AOSP para ejecutar un determinado comando de shell en el arranque.

Traté de modificar init.rc en system/core/rootdir/ a ejecutar un comando en el arranque, pero no pude hacer que funcione.

Sé que debo usar exec, así que he intentado de todas estas variaciones, pero ninguno de ellos funcionó para mí:

exec mkdir /data/local/tmp/test_directory
exec "mkdir /data/local/tmp/test_directory2"
exec -- mkdir /data/local/tmp/test_directory3
exec -- "mkdir /data/local/tmp/test_directory4"

También probé todas las soluciones en esta página en Android 6.0 sin suerte.

Alguien tiene una idea sobre lo que estoy haciendo mal?

0voto

Guillermo Gomez Puntos 423

Usted debe tomar el código fuente, modificar init.rc y compilar. El rootfs en Android se 'actualiza' cada vez que el dispositivo se inicia, por lo que no tiene sentido editar init.rcdirectamente en su dispositivo.
Sin embargo, existen enfoques alternativos y para el siguiente, que es lo que estoy usando actualmente.
Encontrar un servicio del sistema que probablemente usted no necesita a todos, que en la mayoría de las veces, es debuggerd. Busque su binario en /system/bin/debuggerd, cámbiele el nombre a algo como debuggerd.bak, y luego poner la secuencia de comandos de shell en ese lugar. A continuación, en una shell, ejecute

start debuggerd

y reiniciar el sistema. Su shell script se ejecute cada 5 segundos después de la tarea anterior murió. Se recomienda agregar un sueño de bucle en la parte inferior de la secuencia de comandos si desea que se ejecute sólo una vez al inicio.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X