3 votos

La configuración del teclado en el emulador se revierte al reiniciar

Mi emulador de Android 2.3.3 tiene cuatro teclados diferentes:

  1. Teclado japonés
  2. Teclado chino
  3. Teclado Android
  4. Muestra de teclado blando

Desmarco todas ellas para poder utilizar el teclado hardware. Después de unos segundos, da un mensaje de error diciendo que el proceso com.android.inputmethod.latin no responde, con un Force Close botón. ¡Además, cierro y reinicio mi emulador para encontrar todos los teclados marcados!

La razón por la que quiero que todo esté desmarcado es la siguiente:

Cuando hago clic con el cursor en una posición en la que quiero insertar algún texto (al menos en Whatsapp, me encuentro con este problema), el cursor permanece allí de 3 a 10 segundos (!!) y luego el teclado aparece en pantalla y el cursor vuelve a donde estaba! Esto no ocurre cuando todos los teclados en pantalla están desactivados.

¿Cómo puedo hacer que el ajuste de desactivación del teclado sea permanente?

ACTUALIZACIÓN: Esto fue más allá de mi imaginación y muy molesto. Los métodos de entrada que no sean el teclado suave han vuelto e incluso se han habilitado una vez que he reiniciado el emulador. ¿Por qué el sdk se niega a mantener la configuración?

3voto

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.

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