Die Tastatureinstellungen im Emulator werden beim Neustart zurückgesetzt

Mein Android 2.3.3-Emulator hat vier verschiedene Tastaturen:

  1. Japanische Tastatur
  2. Chinesische Tastatur
  3. Android-Tastatur
  4. Beispiel-Soft-Tastatur

Ich deaktiviere sie alle, damit ich die Hardware-Tastatur verwenden kann. Nach ein paar Sekunden gibt es eine Fehlermeldung, die besagt, dass der Prozess com.android.inputmethod.latinnicht reagiert, mit einer Force CloseSchaltfläche. Außerdem schließe ich meinen Emulator und starte ihn neu, um alle überprüften Tastaturen zu finden!

Der Grund, warum ich alle deaktiviert haben möchte, ist folgender:

Wenn ich mit dem Cursor auf eine Position klicke, an der ich Text einfügen möchte (zumindest bei Whatsapp habe ich dieses Problem), bleibt der Cursor dort für 3 bis 10 Sekunden (!!) und dann erscheint die Tastatur auf dem Bildschirm und der Cursor geht zurück, wo es war! Dies ist nicht der Fall, wenn alle Bildschirmtastaturen deaktiviert sind.

Wie mache ich die Tastatur-Deaktivierungseinstellung dauerhaft?

UPDATE: Das war jenseits meiner Vorstellungskraft und sehr ärgerlich. Die anderen Eingabemethoden als die Soft-Tastatur sind zurück und sogar aktiviert, sobald ich den Emulator neu gestartet habe! Warum weigert sich das SDK einfach, die Einstellungen beizubehalten?

Antworten (1)

FERTIG: Ich habe alle meine Inhalte meines alten Emulators gesichert und einen neuen Emulator erstellt

android create avd -t <TargetID> -n <EmulatorName> -a --abi <CPU/ABI-Used>

<TargetID>Um den korrekten Wert von und die zulässigen Werte <CPU/ABI-Used>entsprechend Ihrer Wahl des API-Levels herauszufinden , habe ich verwendet

android list targets

Sie werden dann feststellen, dass die Snapshot-Option verfügbar ist, wenn Sie dieselbe AVD im Android Virtual Device Manager bearbeiten. Überprüfen Sie also den Schnappschuss. Und wenn Sie starten, stellen Sie sicher, dass Sie die Optionen „Aus Snapshot starten“ und „In Snapshot speichern“ aktiviert haben. Verwenden Sie nun die rmBefehle in adb shell, um die IMEs zu entfernen. (Ich werde bald klarstellen, wie man das macht) Sie schließen und das nächste Mal, wenn Sie es über den emulatorBefehl öffnen, wird es aus dem Snapshot geladen und die Permanenz der IME-Einstellungen (oder überhaupt aller Systemeinstellungen) wird erreicht!

(PS: Nur wenn Sie die Hardwarekonfiguration ändern, müssen Sie tatsächlich neu starten, in diesem Fall können Sie nicht vom Snapshot starten, da er für eine andere Hardwarekonfiguration gespeichert wurde!)

Wie die Frage schon sagt, möchte ich nur, dass meine Hardware-Tastatur aktiv ist und mir die 4 Eingabemethoden dort wirklich egal sind. Es ist mir nie in den Sinn gekommen, dass ich einfach alle IMEs entfernen könnte: So geht's:

Mounten Sie den /systemOrdner. Rufen Sie die apk-Namen der IMEs ab, indem Sie in /system/appden Inhalt gehen und ihn anzeigen:

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.

Als nächstes tun Sie es einfach

rm <IMEapkname>.apk

Zum Beispiel wird im Fall des japanischen IME ausgeführt

rm /system/app/PinyinIME.apk

Da dieser Trick für mich bisher nicht für die Beispiel-Softtastatur funktioniert hat:

Ich kam aus der Adb-Shell und tat:

adb uninstall com.example.android.softkeyboard

UPDATE: Sobald Sie sichergestellt haben, dass der Snapshot ordnungsgemäß gespeichert wurde (versuchen Sie, vom Snapshot über Terminal/AVD-Manager zu starten, es darf keine Fehler produzieren) und keine weiteren Änderungen an den Systemanwendungen oder Hardwarekonfigurationen vornehmen möchten, starten Sie den Emulator mit die -no-snapshot-saveMöglichkeit:

emulator -no-snapshot-save -avd Andreud

damit Sie wie zuvor vom Snapshot starten können und Abweichungen vermeiden, die beim Speichern im Snapshot auftreten (damit keine Fehlermeldung angezeigt wird, die besagt, dass es für eine andere Hardwarekonfiguration gespeichert wurde). Außerdem können Sie einige wertvolle Sekunden sparen, die zum Speichern des Schnappschusses benötigt werden. Auf diese Weise verbessert sich also Ihr gesamtes Android-Emulator-Erlebnis!