Einstellung des Android -Emulators
Das folgende Skript nimmt einige Einstellungen am Emulator vor, die nicht unbedingt nötig, aber manchmal hilfreich sind.
Es wird vorausgesetzt, daß der Emulator bereits verwendbar ist (gestartet und nicht »offline«). Das folgende Skript zeigt aber auch an, ob der Emulator auffindbar und online ist, so daß es auch gestartet werden kann, um dies in Erfahrung zu bringen.
Start des Skripts
Damit die vom Skript vorgenommenen Einstellungen dauerhaft im Speicherbilde gespeichert werden, sollte dieses Skript nach dem (möglicherweise ersten) Start des Emulators mit »20_first.cmd« gestartet werden.
Zunächst sollte gewartet werden, bis der Startvorgang des emulierten Androidgerätes beendet ist und das emulierte Androidgerät vollständig betriebsbereit ist. (Was oft am Nachlassen der Prozessorbelastung erkannt werden kann.) Dann kann das Skript »20_first.cmd« gestartet werden.
Das Skript sollte im Abstand von zirka einer Minute solange wiederholt gestartet werden, bis der Emulator als »device« (also als »online«) angezeigt wird.
- offline: Skript abbrechen und noch warten
List of devices attached
emulator-5554 offline- online: Nun kann der Emulator verwendet werden
List of devices attached
emulator-5554 device
Erscheint statt dessen »Server not running.«, so kann es helfen, das Skript erneut zu starten.
Falls das Skript gestartet wurde und der Emulator als »device« angezeigt wurde, dann sollte gewartet werden, bis das Skript beendet ist.
Danach kann der Emulator dann über das Schließkreuz (nicht über das Schließen des Konsolenfensters) beendet werden, um das Speicherbild anzulegen.
Falls der Emulatorbildschirm nach Ende des Ablaufs des Skripts schwarz wird, so kann dies ignoriert werden und das Emulatorfenster wie oben beschrieben geschlossen werden. Der Emulator sollte dann nach einem Start mit dem Skript »40_start« trotzdem verwendbar sein.
Aktionen des Skripts
Das folgende Skript soll die Windows -Uhrzeit auch auf dem Android -Gerät einstellen.
Das Skript soll dafür sorgen, daß das Android -Gerät den Bildschirm erst nach längerer Zeit dunkel schaltet.
Außerdem wird das Uhrzeitformat auf eine Uhr mit 24 Stunden und das Datumsformat auf »yyyy-mm-dd« gestellt.
Ausgaben, die ein Programm in die voreingestellten »java.lang.System.out« oder »java.lang.System.err« schreibt, werden von Android normalerweise verworfen. Das Skript versucht, den Emulator so umzustellen, daß solche Ausgaben in einen Aufzeichnungsstrom (»logcat«) geschrieben werden, von wo aus sie dann gelesen werden können.
Die Einstellung zur Ausgabe können bei einigen um 2015 neueren Versionen der ART (Android runtime, Nachfolger von Dalvik ) zu Fehlern führen. In diesem Fall ist im Skript das Wort »true« durch das Wort »false« zu ersetzen und leider keine Ausgabe mit »java.lang.System.out« oder »java.lang.System.err« möglich.
(Einige dieser Einstellungen waren bei älteren Emulatoren notwendig. Bei neueren Emulator sind einige dieser Einstellung möglicherweise nicht mehr nötig, da sie nun schon vom Emulator erledigt werden. Andere Einstellungen sind vielleicht nicht mehr wirksam.)
Falls die Uhrzeit des Emulators nicht stimmt oder dieser sich nach wenigen Sekunden immer wieder dunkler stellt, könnte es helfen, das Skript »30_config.cmd« erneut zu starten.
Dieses Skript kann auch später nach jedem Start des Emulators aufgerufen werden, um die Uhrzeit einzustellen und/oder um zu prüfen, ob der Emulator erreichbar ist. (Solange dann nicht das Problem mit dem schwarzen Bildschirm auftritt.)
Falls das folgende Skript an einer Stelle »Failure« ausgibt, so stellt dies kein Problem dar und kann ignoriert werden.
30_config.cmd
@SET DIRECTORY_OF_SCRIPT=%~dp0
@CD /D "%DIRECTORY_OF_SCRIPT%"
ECHO ON
@ECHO %~f0
@CALL "env.cmd" SET HERE=%~d0%~p0 SET ADB=%ANDROID_SDK%\platform-tools\adb.exe -e
SET SHELL=%ADB% shell IF ERRORLEVEL 2 GOTO OUT
%ADB% kill-server
@REM %ADB% start-server
IF ERRORLEVEL 1 GOTO OUT %ADB% devices @REM %ADB% wait-for-device
%ADB% uninstall "com.example" %SHELL% content insert --uri content://settings/system --bind ^
name:s:time_12_24 --bind value:s:24
%SHELL% content insert --uri content://settings/system --bind ^
name:s:screen_off_timeout --bind value:s:1800000
%SHELL% content insert --uri content://settings/system --bind ^
name:s:date_format --bind value:s:yyyy-mm-dd
%SHELL% input keyevent 3
@ECHO OFF
SET T=%time:.=%
SET T=%T::=%
SET T=%T:~0,-2%
SET T=00%T: =%
SET T=%T:~-6%
SET D=%DATE%.%T%
SET D=%D:-=%
SET D=%D::=%
@ECHO ON
%SHELL% date -s %D% @REM insert dalvik code hereECHO "batch file done."
goto end :OUT
ECHO "ERROR! batch aborted."
:END
PAUSE
Textausgabe mit Dalvik *
Falls auf einem älteren System noch Dalvik statt ART verwendet wird, kann direkt unter der Zeile mit dem Worte »dalvik« im obenstehenden Skript noch das folgende Fragment eingefügt werden.
Dieses Fragment erlaubt es, Ausgaben, die von Java -Programmen mit »java.lang.System.out.println« geschrieben werden, im Log zu lesen.
- Fragment
%ADB% shell stop
%ADB% shell setprop log.redirect-stdio true
%ADB% shell start