0 votos

Instalación de apk en /system/app con android 5.1 o superior (simple adb push ya no funciona)

Tal vez esta sea una pregunta de novato, pero estoy luchando por encontrar una respuesta...

Necesito instalar algunas apk como aplicaciones del sistema. En el pasado (hasta Android 5.01) solía simplemente usar adb push en /system/app y todo funcionaba bien.

Hoy descubrí que desde Android 5.1 esto ya no funciona ya que las aplicaciones en ese directorio ya no son simplemente apks simples, sino que son carpetas con un directorio arm con un apk real y otros archivos.

¿Cómo puedo instalar ahora las apks que tengo como aplicaciones del sistema?

Solo tengo las fuentes de una de ellas.

Gracias de antemano por tu apoyo

Saludos, blackdir

0 votos

Necesitas crear una carpeta con un nombre de tu elección bajo /system/priv-app. Luego, renombra el APK con el nombre exacto de la carpeta recién creada y coloca [el APK] dentro de la carpeta. Después, cambia el propietario de la carpeta con chown 0.0 /system/priv-app/tuCarpeta y sus permisos con chmod 744 /system/priv-app/tuCarpeta (tuCarpeta será el nombre de la carpeta). Finalmente, haz lo mismo para el APK, con los mismos propietarios 0.0 pero con permisos 644, luego reinicia y verifica si funciona.

2voto

iBug Puntos 31

En Android API Nivel 21+ (5.1+) las modificaciones en /system/app no serán reconocidas automáticamente por el gestor de paquetes. En su lugar, deberías intentar /system/priv-app.
Supongamos que tu aplicación se llama Foo.apk, crea una carpeta en /system/priv-app/Foo y establece chmod 755 y chown 0.0 en ella. Luego coloca tu archivo apk en ella (la ruta debería ser /system/priv-app/Foo/Foo.apk) y establece chmod 644 y chown 0.0 en ella. Entonces será reconocida por el gestor de paquetes, o si no solo reinicia tu dispositivo y la aplicación estará allí.
En algunas ROMs las modificaciones en /system/app SERÁN reconocidas automáticamente pero depende.

1 votos

+1: esta es la forma correcta de hacerlo, pero olvidaste el contexto SELinux. De hecho, algunas de las aplicaciones instaladas en /system/priv-app se estrellarán si su contexto de seguridad no ha sido cambiado a u:object_r:system_file:s0 a través de chcon. En resumen, después de establecer la propiedad y los permisos apropiados, se debe emitir chcon u:object_r:system_file:s0 /system/priv-app/Foo y chcon u:object_r:system_file:s0 /system/priv-app/Foo/Foo.apk.

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