¿Se pueden habilitar o deshabilitar las aplicaciones del sistema directamente desde el sistema de archivos?

Las aplicaciones del sistema se pueden deshabilitar usando pm disable [appname]y volver a habilitar de la misma manera. Pero, ¿hay alguna manera de lograr lo mismo editando algunos archivos en alguna parte?


Contexto: mi máquina virtual Android-x86 está en un bucle de arranque causado por la desactivación de la aplicación de Google . Esa es la razón principal por la que estoy haciendo esta pregunta.

Respuestas (1)

Si una aplicación está habilitada o deshabilitada, se almacena en un solo archivo /data/system/users/0/package-restrictions.xml.


Seguí los siguientes pasos para volver a habilitar la aplicación de Google y resolver mi problema de bootloop:

  1. Inicie la máquina virtual Android-x86 en modo de depuración (es decir, agregue DEBUG=2a la entrada de GRUB)

  2. montar el sistema de archivos:

    su
    
    cd /dev    # these are necessary to "refresh" the environment
    cd ..      # otherwise the following commands wouldn't work
    
    mkdir temp
    mount /dev/block/sda1 temp
    
  3. Edite el package-restrictions.xmlarchivo con vi :

    vi /temp/android-6.0-rc1/data/system/users/0/package-restrictions.xml
    
    • Encuentre la entrada que contiene<pkg name="com.google.android.googlequicksearchbox" enabled="3" enabledCaller="com.android.settings">

    • Mueva el cursor hasta el final de esa línea (Línea 13 en mi caso) y presione apara comenzar a editar (ver Comandos vi básicos )

    • Elimina los atributos enabledy . enabledCallerLa línea resultante debe ser<pkg name="com.google.android.googlequicksearchbox">

    • Presione Escy escriba :wqy presione Enterpara guardar y salir vi

  4. Escriba exity presione Enter (dos veces) para iniciar Android normalmente.

También es seguro simplemente eliminar el package-restrictions.xmlarchivo: se volverá a crear un nuevo archivo 'limpio' en el próximo reinicio.