instalando apk en / system / app con Android 5.1 o superior (el simple adb push ya no funciona)

tal vez esta es 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) estaba acostumbrado a simplemente adb push a / 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 apk simples, sino que son carpetas con un directorio arm con apk real y otros archivos.

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

Tengo fuentes solo para 1 de ellos.

Gracias de antemano por su apoyo

saludos, blackdir

Debe crear una carpeta con el nombre que elija en /system/priv-app . Luego, cambie el nombre del APK al nombre exacto de la carpeta recién creada y coloque [el APK] dentro de la carpeta. A continuación, cambie el propietario de la carpeta con chown 0.0 /system/priv-app/yourFoldery sus permisos con chmod 744 /system/priv-app/yourFolder( yourFolderserá el nombre de la carpeta). Finalmente, haga lo mismo con el APK, con los mismos propietarios 0.0pero con 644permisos, luego reinicie y vea si funciona.

Respuestas (1)

En Android API Level 21+ (5.1+) las modificaciones en /system/app no ​​serán reconocidas automáticamente por el administrador de paquetes. En su lugar, debe probar /system/priv-app.
Suponga que su aplicación se llama Foo.apk, cree una carpeta en /system/priv-app/Foo y configure chmod 755 & chown 0.0. Luego coloque su archivo apk (la ruta debe ser /system/priv-app/Foo/Foo.apk) y chmod 644 & chown 0.0. Entonces será reconocido por el administrador de paquetes, o si no, simplemente reinicie su dispositivo y la aplicación estará allí.
En algunas ROM, las modificaciones en /system/app se reconocerán automáticamente, pero depende.

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