Mein Android 2.3.3-Emulator hat vier verschiedene Tastaturen:
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.latin
nicht 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?
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 rm
Befehle 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 emulator
Befehl ö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 /system
Ordner. Rufen Sie die apk-Namen der IMEs ab, indem Sie in /system/app
den 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-save
Mö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!