Android Emulator changes: ========================= Versions: 1.0 => SDK M3 release 1.1 => SDK M5 release 1.2 => Internal release (build 72264) 1.3 => Internal release (build 77780) 1.4 => Internal release (build 84853) 1.5 => SDK 0.9_r1 1.6 => SDK 1.0_r1 1.7 => SDK 1.0_r2 (planned, unreleased) ============================================================================== Changes between 1.6 and 1.7 IMPORTANT BUG FIXES: - Properly create ~/.android directory when needed. - Do not leave temporary files in Android app-specific directory on Win32 - Trackball mode toggle key (Ctrl-T by default) now works after rotating your skin once. OTHER: - New option '-nand-limits ' allows you to send a signal to a remote process when a read or write threshold on flash storage is reached. This is only useful for hardcore Android system hackers. - Fix emulator build on recent Cygwin releases (the -mno-cygwin headers do not tolerate the _GNU_SOURCE macro definition anymore) - Fix Win32 emulator to support SD Card images larger than 2 GiB ============================================================================== Changes between 1.5 and 1.6 IMPORTANT CHANGES: - Emulator now saves the user image in /SDK1.0/ OTHER: - Get rid of EsounD-related freezes on Linux (again) - Fix the documentation in -help-audio. '-audio list' doesn't work, one needs to call -help-audio-out and -help-audio-in to get the list of valid audio backends - Fix scrollwheel Dpad emulation in rotated mode. before that, using the scroll-wheel would always generated Dpad Up/Down events, even when in landscape mode. - Re-enable CPU fault emulation in case of unaligned data access. this was previously disabled because it crashed the emulated kernel in previous releases. - The emulator no longer prints an obscure warning when it doesn't find the emulator.cfg configuration file in ~/.android. 'broken configuration file doesn't have a 'window' element' - Removed a bunch of obsolete options (e.g. -console, -adb-port, etc...) - Setting the network speed through the console or the -netspeed option will properly modify the connectivity icon on the device. - Setting the GSM voice registration state to 'roaming' in the console will properly modify the voice icon on the device ============================================================================== Changes between 1.4 and 1.5 IMPORTANT BUG FIXES: - fix spurious discards of SMS messages when using two emulators. ============================================================================== Changes between 1.3 and 1.4 IMPORTANT BUG FIXES: - fix for audio-related Linux startup freezes when using the 'esd' and 'alsa' backends - the number of audio buffers in the Windows backend has been incremented. this gets rid of audio chopiness issues on Vista (and sometimes on XP too) NEW FEATURES: NEW CONSOLE COMMANDS: - new 'geo fix []' command allows you to send a simple GPS fix to the emulated system, without the headaches of NMEA 1083 formatting. OTHER BUG FIXES: - fixed the -audio, -audio-in and -audio-out options (the values were sometimes ignored) REGRESSIONS: OTHER: - the transitional '-qemud' option introduced in 1.3 is now gone. its behaviour is now the default. - use the new '-old-system' option if you need to use a 1.4+ emulator binary with older system images. if you don't use it, GSM and GPS emulation will not work correctly (among other things). - the obsolete '-oldradio' option is now gone - on some Unix systems, SIGALRM is blocked by default, so unblock it when creating the alarm timer - the 'esd' and 'alsa' libraries dump a lot of error messages to the console by default on Linux. these are now disabled unless you use '-debug audio' - added the '-help-char-devices' help topic that describe the specification of the parameter of options like -serial, -gps, -shell-serial, etc... KNOWN ISSUES: - no support for video input - no support for mutable SIM Card emulation yet - no support for bluetooth - no support for WiFi - on some Linux machines, the emulator might get stuck at startup. this seems to be related to audio input support. try starting with '-audio-in none' or even '-noaudio' to disable sound, or choose a different audio backend by defining QEMU_AUDIO_DRV to an appropriate value (read below). you can also select different audio backends for both output and input by defining QEMU_AUDIO_OUT_DRV and QEMU_AUDIO_IN_DRV independently. - on Windows, the emulator takes about 10-15% of the CPU even when the emulated system is idle. this is a known issue related to QEMU's internal event loop and Winsock. this should be fixed in a future emulator release. - GPS emulation only if you use the '-qemud' option. this is an experimental option that is soon going to be the default. without this option, the emulated system will start but GPS emulation will not work. for the record, 'qemud' is a serial port multiplexer that is used to multiplex several communication channels between the emulator and the emulated system, though a single serial port. ============================================================================== Changes between 1.2 and 1.3 IMPORTANT BUG FIXES: NEW FEATURES: - '-audio-in ' allows you to select the audio input backend from the command line. this is equivalent to defining QEMU_AUDIO_IN_DRV= '-audio-out ' works for the audio output, and '-audio ' will select both input and output at the same time - '-debug ' has replaced the old '-verbose- -verbose- ...' debugging option. is a comma-separated list of debug tags (see -help-debug-tags for a complete list). you can also use the special value 'all' to indicate all debug tags, or prefix a '-' before a tag name to disable it. for example: -debug all,-audio enables all debugging except audio. '-debug-' still works though. note that while '-verbose-' is deprecated, '-verbose' is still supported as an alias to '-debug-init' - '-keyset ' allows you to specific the keyset file to use. the default is still ~/.android/default.keyset on Unix. for Windows, use -help-keyset to get its default location (which differs between XP and Vista) NEW CONSOLE COMMANDS: - the 'geo nmea ' can be used to send a NMEA 1083 sentence as if it came from an emulated GPS unit. NOTE: this doesn't work unless you also use the '-qemud' option (see KNOWN ISSUES below) OTHER BUG FIXES: - severe color artefact issues when scaling the emulator window < 1.0 were fixed. - fix rare random emulator freezes on Linux by disabling the 'dynticks' timer. REGRESSIONS: OTHER: - the ambiguous '-console' option is now obsolete. use '-shell' instead - the new '-shell-serial ' allows you to specify a device to connect a root shell session to the emulated system. - the '-debug-kernel' option is now known as '-show-kernel' (the -debug- prefix is reserved for strict emulator debugging features) - '-adb-port' has been removed from the list of options. similarly '-port ' will accept an odd port number, but will print a warning that it is using -1 instead. - MMX is used on x86 to speed up window rescaling. - a new '-qemud' option is required to have GPS support work in this SDK (either through '-gps ' or the 'geo nmea ' console command) this option is purely experimental and will soon become the default. KNOWN ISSUES: - no support for video input - no support for mutable SIM Card emulation yet - no support for bluetooth - no support for WiFi - on some Linux machines, the emulator might get stuck at startup. this seems to be related to audio input support. try starting with '-audio-in none' or even '-noaudio' to disable sound, or choose a different audio backend by defining QEMU_AUDIO_DRV to an appropriate value (read below). you can also select different audio backends for both output and input by defining QEMU_AUDIO_OUT_DRV and QEMU_AUDIO_IN_DRV independently. - on Windows, the emulator takes about 10-15% of the CPU even when the emulated system is idle. this is a known issue related to QEMU's internal event loop and Winsock. this should be fixed in a future emulator release. - GPS emulation only if you use the '-qemud' option. this is an experimental option that is soon going to be the default. without this option, the emulated system will start but GPS emulation will not work. for the record, 'qemud' is a serial port multiplexer that is used to multiplex several communication channels between the emulator and the emulated system, though a single serial port. ============================================================================== Changes between 1.1 and 1.2 IMPORTANT BUG FIXES: - fixed a typo that prevented the F9/F10 keyboard shortcuts from working properly, making non-programatically tracing unusable. - halve the emulator's memory requirements, saving around 130 megabytes of memory by changing the way flash images are accessed (we now use temporary files instead) - this emulator binary should be 10% to 20% faster than previous ones on the Windows and OS X platforms. for faster boots, you may also want to use the -no-boot-anim option described below to speed up the initial boot sequence as well on slow machines. - proper rotation support when using Keypad 7/9 to switch between layouts in the default HVGA skin. no need to use Ctrl-PageDown anymore - the -http-proxy option didn't work correctly on Windows (unless you were very lucky). - general socket handling code on Windows has been significantly improved. NEW FEATURES: - the console port number of a given emulator instance is now displayed in its window's title bar. - voice/sms are automatically forwarded to other emulator instances running on the same machine, as long as you use their console port number as the destination phone number. for example, if you have two emulator running, the first one will usually use console port 5554, and the second one will use port 5556 then dialing 5556 on the 1st emulator will generate an incoming call on the 2nd emulator. you can also hold/unhold calls as well. this also works when sending SMS messages from one emulator to the other - the help system has been totally revamped: * -help prints a summary of all options and help topics * -help-