6 votos

¿Cómo se instala un apk como aplicación del sistema?

Estoy intentando instalar una aplicación en la carpeta system/app de un dispositivo. Es necesario hacerlo ya que estoy escribiendo un programa QAT y las pruebas necesitan ejecutarse con unos privilegios no disponibles para las apps de terceros.

Ya tengo la clave de firma del firmware del dispositivo y necesito establecer el sharedUserId de la aplicación a Android.uid.system . Sin embargo me sigue dando un mensaje de fallo "INSTALL_FAILED_SHARED_USER_INCOMPATIBLE" .

¿Alguna idea de cómo puedo solucionar esto?

0 votos

¿Qué es exactamente lo que le da ese mensaje de error? Por favor, añada los pasos que está dando.

0 votos

Es el gestor de paquetes. Una posible causa es que estoy generando el certificado yo mismo con keytool y los datos pertinentes proporcionados, sin embargo las aplicaciones del sistema parecen haber sido firmadas con un certificado con una validez diferente a la mía, ya que fue creado en una fecha anterior. ¿Podría ser este el problema al que me enfrento?

2voto

kyrias Puntos 896

Encontré estas instrucciones para instalar PowerManagerPro en /system/app Sólo los he modificado un poco. (Nota: primero instale la aplicación en /data/app como lo harías con cualquier aplicación, y necesitas un dispositivo rooteado).

Abra una aplicación de emulador de terminal y ejecute el siguiente comando para copiar la aplicación en la tarjeta sd:

su
cp /data/app/_your.apk_ /sdcard/_your.apk_

Si no encuentra la aplicación en /data/app intente /data/apps-private/ . A continuación, desinstala tu aplicación del dispositivo.

Ejecute los siguientes comandos en el emulador de terminal para volver a montar el /system como lectura/escritura y para instalar la aplicación en el directorio /system/app directorio:

su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cp /sdcard/_your.apk_ /system/app

Si prefieres utilizar adb desde tu ordenador, ejecuta estos comandos:

adb remount
adb shell cp /sdcard/_your.apk_ /system/app

1 votos

0 votos

@Demizide: Ya lo he intentado. Tengo dos problemas, primero, el dispositivo no está rooteado ni lo va a estar. Segundo los archivos en /system/app son propiedad de Root y el grupo también es Root. De alguna manera no me deja poner el grupo en Root y mantiene eso como el shell. Es por esto, o por alguna otra razón, el método anterior no parece funcionar.

1voto

Andy Brudtkuhl Puntos 1714

Si no tienes Root para seguir el procedimiento de instalación manual que describe Demizey, entonces la aplicación debe estar firmada con la misma clave con la que está firmada la ROM; es decir, la misma clave con la que están firmadas las aplicaciones del sistema existentes. Se trata de una precaución de seguridad: de lo contrario, cualquiera podría escribir una aplicación que se ejecutara con pleno acceso al sistema en cualquier dispositivo.

0voto

Guillermo Gomez Puntos 423

Es posible que quiera explotar el Vulnerabilidad de la llave maestra .

Elige una aplicación que, en caso de pérdida o sustitución, no afecte al uso del dispositivo. Toma su APK y busca la manera de modificar su contenido, e inserta los archivos de tu app. No sobrescribas nada en el APK original, pero intenta hacer 2 entradas del mismo archivo en la cabecera del ZIP. Luego puedes instalar el APK modificado sobre el original. Heredará los permisos del original, pero funcionará como tú pretendes.

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