HECHO: Hice una copia de seguridad de todo el contenido de mi antiguo emulador, creé un emulador nuevo utilizando
android create avd -t <TargetID> -n <EmulatorName> -a --abi <CPU/ABI-Used>
Para ayudar a encontrar el valor correcto de <TargetID>
y los valores admisibles <CPU/ABI-Used>
correspondiente a su elección del nivel de la API, he utilizado
android list targets
A continuación, encontrará que la opción de Snapshot está disponible, cuando edite el mismo AVD desde el Administrador de Dispositivos Virtuales Android. Así que comprueba la instantánea. Y cuando la lances, asegúrate de haber marcado las opciones "Launch from Snapshot" y "Save to Snapshot". Ahora utilice el rm
comandos en el adb shell
para eliminar los IME. (Pronto aclararé cómo se hace eso) Se cierra y la próxima vez se abre a través de emulator
se carga desde la instantánea y se consigue la permanencia de la configuración del IME (o para el caso de cualquier configuración del sistema).
(P.D.: Sólo cuando cambie la configuración del hardware tendrá que reiniciar realmente, en cuyo caso no podrá iniciar desde la instantánea ya que se guardó para una configuración de hardware diferente).
Como indica la pregunta, lo único que quiero es que mi teclado hardware esté activo y realmente no me importan los 4 métodos de entrada que hay. Nunca se me ocurrió que podría simplemente eliminar todos los IME: así es como:
Monte el /system
carpeta. Recupera los nombres apk de los IMEs entrando en /system/app
y mostrar su contenido:
aneesh@nb-14:~$ adb shell mount -rw -o remount /dev/block/mtdblock0 /system
aneesh@nb-14:~$ adb shell
# cd /system/app
# ls
Phone.apk
Development.apk
Email.apk
Calculator.apk
...
..
etc.
A continuación, sólo hacer
rm <IMEapkname>.apk
Por ejemplo, en el caso del IME japonés se ejecuta
rm /system/app/PinyinIME.apk
Como este truco, para mí, no funcionó hasta ahora para el teclado suave de la muestra:
Salí del adb shell y lo hice:
adb uninstall com.example.android.softkeyboard
ACTUALIZACIÓN: Una vez que te asegures de que la instantánea se ha guardado correctamente (prueba a lanzar desde la instantánea a través de la terminal/gestor de DVD, no debe producir errores) y no quieras hacer más cambios en las aplicaciones del sistema o en las configuraciones de hardware, lanza el emulador con la opción -no-snapshot-save
opción:
emulator -no-snapshot-save -avd Andreud
para poder lanzar desde la instantánea como antes y evitar las aberraciones que se producen al guardar en la instantánea (no sea que produzca error diciendo que se guardó para una configuración de hardware diferente). Además, puede ahorrar algunos valiosos segundos que se tarda en guardar la instantánea. De esta manera, tu experiencia general con el emulador de Android mejora.