From 8b23a6c7e1aee255004dd19098d4c2462b61b849 Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Tue, 3 Mar 2009 19:30:32 -0800 Subject: auto import from //depot/cupcake/@135843 --- CHANGES.TXT | 670 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 670 insertions(+) create mode 100644 CHANGES.TXT (limited to 'CHANGES.TXT') diff --git a/CHANGES.TXT b/CHANGES.TXT new file mode 100644 index 0000000..0f362b7 --- /dev/null +++ b/CHANGES.TXT @@ -0,0 +1,670 @@ +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 + 1.8 => SDK 1.1 + 1.9 => (unreleased, planned, named likely to change) + +============================================================================== +Changes between 1.8 and 1.9 + +IMPORTANT CHANGES: + +- Many features have been integrated from upstream QEMU sources, including + the new TCG code generator used by the ARM translator. This should result + in slightly faster execution speed on all supported platforms. + +- The emulator now requires that you specify a virtual device name when + starting the emulator, prefixed with the '@' sign. For example, to start + the 'foo' virtual device, type: + + emulator @foo + + Each AVD (Android Virtual Device) corresponds to a directory used to store + mutable disk images, an optional system image/kernel/sdcard, plus some + configuration file(s). + + The command-line tool 'android' that comes with the SDK can be used to + create/list/remove virtual devices on your system. + + Note that the '@' form is a convenience shortcut for '-avd '. + It is thus possible to place options after the AVD name on your command + line, as in: + + emulator @foo -verbose -shell + + Finally, when building the Android platform source tree, an AVD name is not + required and 'emulator' will start a new emulator instance exactly as + previously. + +- A new option '-sysdir ' has been introduced, the interpretation of + the '-system' option has changed, and '-image ' should now be + considered obsolete. In more details: + + * you should now use '-sysdir ' instead of '-system ' to specify + the directory where system images will be searched by the emulator + on startup. + + * you should now use '-system ' to indicate which system.img partition + image to use at startup. + + * you should not use '-system ' or '-image ' anymore. However, + these options are still supported but will print a warning to remind you + to change your scripts/habits. + + The change was done to reduce confusion as to what these options provide. + +- Options '-noaudio', '-nojni', '-noskin' and 'nocache' are deprecated. + You should use '-no-audio', '-no-jni', '-no-skin' and '-no-cache' instead. + +- Option 'initdata' is deprecated, you should use '-init-data' instead. + +- Hardware emulation is now limited to the corresponding Android Virtual + Device's configuration. This means it is now possible to not emulate + a touch-screen, trackball, dpad, keyboard, modem, etc... + + Note that in the case of the Android build system, all hardware properties + are enabled by default, so this only affects "normal" virtual devices + created with the 'android' tool. + +- The emulator now supports capturing network packets to a file. + You can either use the new -tcpdump command-line option, or use + the new console 'network capture start ' command (then use + 'network capture stop' to stop it). + + This captures all ethernet packets on the virtual LAN, so this includes + ARP, UDP, TCP, etc... The file is in libpcap format and can be opened with + external tools like WireShark for analysis. + +OTHER: + +- The file in ~/.android/default.keyset was ignored, unless you used + '-keyset default' explicitely. It is now loaded automatically when + available. + +- Environment variable ANDROID_SDK_ROOT can be used to specifiy the location + of the SDK installation path. + +- Environment variable ANDROID_SDK_HOME can be used to specify the location + of the '.android' data directory. + +- A new console command 'avd name' can be used to query the name of the + virtual device running in the emulator. Note that it will be '' + if you run from the Android build system. + + Also, the emulator's window title also displays the AVD name now. + +- The option '-memory ' has been added. must be an integer + specifying the amount of physical RAM in the emulated device in megabytes. + The default value is 96. + +- The '-skindir ' option now requires that you specify a '-skin ' + option as well. + +- Better handling of Audio on Linux for the EsounD and Alsa backends + +- Fullscreen toggle should now work on Windows and OS X. On Linux, the + toggle will not switch the display resolution anymore (which resulted + in distorted images). + +============================================================================== +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 + +- Support for HTTP/HTTPS proxies has been considerably improved and should now + "just work" with a lot more HTTP proxies. In case of problem, use the + -debug-proxy option to dump debugging data to stderr. + +OTHER: + +- Trackball emulation has changed. First, the awkward "Control-T" keybinding + is gone. Instead, you can now: + + - press 'Delete' to show the trackball and have it disappear as soon + as your release the key. + + - press 'F6' to perform a persistent trackball mode toggle. + + Also, trackball emulation is fixed in rotated/landscape mode now. + +- 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 + +- The non-Android build system has been completely rewritten to allow building + the emulator on Linux x86_64. Also, there is now a single Makefile that + drives the build in both Android and non-Android modes. + +- '-qemu ' works again + +============================================================================== +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. + +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. + +============================================================================== +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-