Requisitos previos :
-
un dispositivo de tablet de China basado en Rockchip con Android 6, parcheado para deshabilitar SystemUI
-
de desarrollo propio que declara la categoría de Lanzador y está destinado a tomar el control total del dispositivo
¿Qué estoy tratando de lograr?
instalar la aplicación como una aplicación de sistema para evitar manejar los permisos del SDK 23+.
¿Qué he hecho hasta ahora?
- instalaba la aplicación regularmente a través de Android Studio
- movió la aplicación a /system/priv-app:
(root)
ls /data/app/my.package.name-1
base.apk
lib
oat
mount -o rw,remount /system
mv /data/app/my.package.name-1 /system/priv-app/AppName
ls -la /system/priv-app/AppName
-rw-r--r-- system system 2464934 2017-12-08 11:32 base.apk
drwxr-xr-x system system 2017-12-08 11:32 lib
drwxrwx--x system install 2017-12-08 11:32 oat
reboot
¿Cuál es el problema?
Parece que el sistema no es consciente de que la aplicación existe: no se ejecuta en el arranque (lo que hace perfectamente cuando se instala como una aplicación normal) y no puedo lanzarla manualmente:
root@rk312x:/ # am start -n my.package.name/.ui.MainActivity
Starting: Intent { cmp=my.package.name/.ui.MainActivity }
Error type 3
Error: Activity class {my.package.name/my.package.name.ui.MainActivity} does not exist.
¿Qué me estoy perdiendo?
0 votos
Gracias, esto solucionó el problema de iniciar la aplicación. Todavía no se le conceden los permisos automáticamente, supongo que debido a que no es la firma del sistema. Sin embargo, la pregunta se refería a la ejecución de la aplicación, así que por favor publique sus comentarios como respuesta
1 votos
¿Intentas que los permisos de ejecución se concedan automáticamente? Estar en ese directorio no lo concederá automáticamente. Tendrías que estar en la lista blanca del gestor de paquetes firmado por Google. Podrías apuntar a la API 22o inferior y obtendrías los permisos que quisieras con solo instalar el APK.