| 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 => SDK 1.5_r1 (and SDK 1.5_r2) |
| 1.10 => SDK 1.5_r3 |
| 1.11 => SDK 1.6_r1 |
| 1.12 => SDK 2.0 |
| 1.13 => SDK 2.0.1 (but wrongly tagged 1.12) |
| |
| Starting from here, the emulator version number will match |
| the corresponding SDK Tools release level, i.e.: |
| |
| 5.0 => SDK Tools release 5 |
| 6.0 => SDK Tools release 6 |
| 7.0 => SDK Tools release 7 |
| etc... |
| |
| ============================================================================== |
| Changes between 8.0 and 7.0 |
| |
| IMPORTANT CHANGES: |
| |
| OTHER: |
| |
| - The phone can now be called with additional numbers, using the 1-555-521 |
| prefix. I.e. you can now use all of the following numbers to call/sms an |
| emulator that runs on console port 5554: |
| |
| 5554 |
| 521 5554 |
| 555 521 5554 |
| 1 555 521 5554 |
| |
| - Fix -http-proxy implementation to properly work with chunked encodings. |
| |
| Also try to connect to the proxy on startup to see if the host/port are |
| valid. If no connection succeeds after 1 second, dump a warning and |
| ignore the proxy for the session. |
| |
| - The console's "geo fix" command was modified: |
| |
| - a computational bug sent the wrong latitude/longitude to the emulated |
| system, resulting in coordinates that could be off from 500 to 1000 meters. |
| |
| - fixed another bug that didn't report the altitude correctly. |
| |
| - added a fourth, optional, parameter to indicate the number of tracked |
| satellites to emulate. The number must be an integer between 1 and 12, |
| (1 is the default). |
| |
| - fixed a bug in parameter handling: the implementation disagreed with the |
| documentation, requiring an additional dummy fourth argument. Now four or |
| five parameters are accepted (for backwards compatibility), but the last is |
| always the satellite count. |
| |
| - Add a PulseAudio audio backend on Linux. It will be used by default |
| unless it's impossible to connect to the PA daemon. |
| |
| - It is now possible to access the QEMU monitor from the console. |
| Just type "qemu monitor" and you will be at the monitor prompt. |
| |
| Note that the monitor 'quit' command will not stop the emulator, |
| but will simply close the connection instead. |
| |
| ============================================================================== |
| Changes between 7.0 and 6.0 |
| |
| IMPORTANT CHANGES: |
| |
| OTHER: |
| |
| - Removed audio stack SDL dependency. |
| |
| - Add a '-shared-net-id' option which allows emulators to join a shared network. |
| This allows testing situations where emulators need to communicate directly |
| with each other. See '-help-shared-net-id' for more details. |
| |
| - Fix net shaping regression: -netspeed and -netdelay did not work anymore. |
| |
| ============================================================================== |
| Changes between 6.0 and 5.0 |
| |
| IMPORTANT CHANGES: |
| |
| - Add a '-memcheck' option to instrument memory reads/writes at runtime in |
| order to detect buffer under/overflows. This requires a new version of the |
| C library that is only available in Froyo and above. |
| |
| - Fix '-http-proxy' on Win32. This was actually a regression introduced |
| with the Donut SDK. |
| |
| OTHER: |
| |
| - Add a '--static' option to both android-configure.sh and android-rebuild.sh |
| in order to build a completely static executable. This is required to run |
| the emulator in restricted environments. No audio and graphics in this mode |
| so using '-no-window' is required. |
| |
| ============================================================================== |
| Changes between 5.0 and 1.13 |
| |
| IMPORTANT CHANGES: |
| |
| - Starting from this release, the emulator's version number will match the |
| corresponding Android SDK Tools package revision number. The exact number |
| is extracted at build time from the Android source tree. |
| |
| The minor number will now be stuck to 0 since each official emulator |
| release is supposed to match a corresponding SDK Tools release. |
| |
| |
| OTHER: |
| |
| - Fixed a bug that crashed the emulator when the SD Card image size was exactly |
| 8 MB. Now, the minimum supported size is 9 MB, and the emulator will complain |
| with a human-friendly message if this is not the case, and ignore the SD Card |
| file. |
| |
| ============================================================================== |
| Changes between 1.13 and 1.12 |
| |
| IMPORTANT BUG FIXES: |
| |
| - Fix D-Pad rotation issues in the skins. The problem being that switching |
| the emulator window to landscape mode resulted in incorrectly rotated |
| D-Pad events. The fix allows for a new 'dpad-rotation' field for each |
| layout. |
| |
| - Fixed a bug in Thumb2 emulation (not used by typical SDK images yet though) |
| that resulted incorrect behaviour / crashes, especially in single-stepping |
| mode. |
| |
| ============================================================================== |
| Changes between 1.12 and 1.11 |
| |
| IMPORTANT BUG FIXES: |
| |
| - Fixed a nasty race condition in the Linux EsounD audio backend which resulted |
| in rare lockups when stopping the emulator on this platform. |
| |
| - The key-bindings for the Menu button (F2 and PageUp by default) didn't work |
| due to a typo. |
| |
| OTHER: |
| |
| - Sources have been refreshed by a large integration of upstream QEMU |
| sources (version 0.10.50). The integration is based on the following commit, |
| dated 2009-06-19: |
| |
| d2e9fd8f703203c2eeeed120b1ef6c3a6574e0ab |
| |
| ============================================================================== |
| Changes between 1.11 and 1.10 |
| |
| IMPORTANT BUG FIXES: |
| |
| - Fixed ANDROID_SDK_HOME being ignored on Unix (not Windows). This environment |
| variable is used to locate a user's configuration files for the SDK, with a |
| default value of ~/.android |
| |
| OTHER: |
| |
| - Add "KEY_XXX" name alias for EV_KEY codes. This means that the console |
| command "event codes EV_KEY" will now return KEY_XXX code names (in addition |
| to BTN_YYY ones), and that you can use "event send EV_KEY:KEY_SOFT1:1" |
| instead of "event send EV_KEY:229:1" to simulate the press of the Menu |
| button. |
| |
| The KEY_XXX values are defined by Linux. The following Android-specific |
| mappings apply: |
| |
| KEY_HOME => Home key |
| KEY_BACK => Back key |
| KEY_SEND => Call key (e.g. Green Phone) |
| KEY_END => EndCall key (e.g. Red Phone) |
| KEY_SOFT1 => Menu key |
| |
| KEY_VOLUME_UP |
| KEY_VOLUME_DOWN |
| |
| KEY_SEARCH => Search key (if any) |
| KEY_POWER => Power button |
| KEY_CAMERA => Camera button |
| |
| KEY_DOWN / UP / LEFT / RIGHT => DPad keys |
| KEY_CENTER => DPad / trackball click |
| |
| Beware: KEY_MENU does *not* correspond to the "Menu" key of most Android |
| devices. |
| |
| ============================================================================== |
| Changes between 1.10 and 1.9 |
| |
| IMPORTANT BUG FIXES: |
| |
| - Fixed sock_address_init_resolve() in sockets.c to work properly on |
| IPv6 capable systems, when the list returned by getaddrinfo() doesn't |
| necessarily reflect the simplistic heuristics that were used by the |
| previous implementation. On such systems, inter-emulator telephony |
| and SMS didn't work properly, as well as certain other network-related |
| tasks. |
| |
| IMPORTANT CHANGES: |
| |
| - Skins can now provide a button for the "SEARCH" scan-code, simply using |
| the "search" label for it. |
| |
| - A new option '-prop <name>=<value>' can be used to set a system property |
| at boot time in the emulated system. This only works for system images |
| starting at 1.5_r3, and will be ignored for older ones. |
| |
| Note that properties starting with "ro." can only be set once. Moreover, |
| all system properties in the system build.prop or local.prop are parsed |
| by init before anything else. Any "ro." property in them cannot be |
| changed with this option. |
| |
| - Allow the HTTP proxy implementation to receive chunked encoding data. |
| This shall solve problems when talking to Microsoft proxies. |
| |
| OTHER: |
| |
| - Allow the SEARCH key-binding (F5) to work on keyboard-less hardware |
| configurations (AVDs). |
| |
| - Fixed a typo which prevented the kernel gdbstub from working properly |
| |
| - Fixed bad QADD/QDADD/QSUB/QDSUB emulation in the ARM JIT. |
| |
| - Fixed one minor crash when the Linux OSS audio backend was used with the |
| -debug-audio option. |
| |
| - Fixed emulator tracing bug (basic block address could be wrong). And add |
| support for recording native (JNI) calls when profiling. |
| |
| - Fixed build for platforms where deprecated symbol EAI_NODATA is not |
| defined. |
| |
| - Fix GPS emulation to allow several clients concurrently. There are still |
| problems that may be due to changes in the system's framework. |
| |
| - Added some technical documentation in the docs/ directory. |
| |
| ============================================================================== |
| Changes between 1.9 and 1.8 |
| |
| 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. Another |
| benefit is that you no longer require a specific (and obsolete) version |
| of GCC to build the emulator. |
| |
| - 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 '@<name>' form is a convenience shortcut for '-avd <name>'. |
| 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 <dir>' has been introduced, the interpretation of |
| the '-system' option has changed, and '-image <file>' should now be |
| considered obsolete. In more details: |
| |
| * you should now use '-sysdir <dir>' instead of '-system <dir>' to specify |
| the directory where system images will be searched by the emulator |
| on startup. |
| |
| * you should now use '-system <file>' to indicate which system.img partition |
| image to use at startup. |
| |
| * you should not use '-system <dir>' or '-image <path>' 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 <file> command-line option, or use |
| the new console 'network capture start <file>' 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 (which defaults to your $HOME). |
| |
| - 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 '<build>' |
| if you run from the Android build system. |
| |
| Also, the emulator's window title also displays the AVD name now. |
| |
| - The option '-memory <size>' has been added. <memory> must be an integer |
| specifying the amount of physical RAM in the emulated device in megabytes. |
| The default value is 96. |
| |
| - The '-skindir <path>' option now requires that you specify a '-skin <name>' |
| 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). |
| |
| - Using '-no-audio' no longer disables sound hardware emulation. It simply |
| mutes the emulator program on the host. |
| |
| - The window title bar changes when you toggle persistent trackball mode |
| (F6 by default). It will display something like the following: |
| |
| "Press F6 to exit trackball mode ..." |
| |
| The actual text depends on your key binding configuration. This is to help |
| people toggle the mode by accident. |
| |
| ============================================================================== |
| Changes between 1.7 and 1.6 |
| |
| 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 <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 <other-options>' works again |
| |
| ============================================================================== |
| Changes between 1.6 and 1.5 |
| |
| IMPORTANT CHANGES: |
| |
| - Emulator now saves the user image in <android>/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.5 and 1.4 |
| |
| 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.4 and 1.3 |
| |
| 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 <lontitude> <latitude> [<altitude>]' 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 <backend> 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 <device> 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.3 and 1.2 |
| |
| IMPORTANT BUG FIXES: |
| |
| NEW FEATURES: |
| |
| - '-audio-in <backend>' allows you to select the audio input backend from the |
| command line. this is equivalent to defining QEMU_AUDIO_IN_DRV=<backend> |
| |
| '-audio-out <backend>' works for the audio output, and '-audio <backend>' |
| will select both input and output at the same time |
| |
| - '-debug <tags>' has replaced the old '-verbose-<tag1> -verbose-<tag2> ...' |
| debugging option. <tags> 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-<tag>' still works though. |
| |
| note that while '-verbose-<tag>' is deprecated, '-verbose' is still supported |
| as an alias to '-debug-init' |
| |
| - '-keyset <file>' 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 <sentence>' 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 <device>' 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 <port>' will accept an odd port number, but will print a warning |
| that it is using <port>-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 <device>' or the 'geo nmea <sentence>' |
| 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.2 and 1.1 |
| |
| |
| 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 <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-<option> prints option-specific help |
| * -help-<topic> prints various topical help text |
| * -help-all prints *all* help content at once |
| |
| - the emulator now tries to automatically detect the host time zone and sends |
| it to the emulated system at startup (through the GSM modem). there is also |
| a new '-timezone <timezone>' option to be able to specify a different one. |
| |
| IMPORTANT: the <timezone> name must be in zoneinfo format, i.e. |
| Area/Location, human-friendly abbreviations like "PST" or "CET" |
| will not work. examples are: |
| |
| America/Los_Angeles |
| Europe/Paris |
| |
| - the emulator can now use up to 4 distinct DNS servers (instead of only one). |
| by default, they are taken from your system's list, which is obtained by |
| calling GetNetworkParams() on Win32, and parsing /etc/resolv.conf on |
| Unix. |
| |
| - a new '-dns-server <server>' option can be used to specify a comma-separated |
| list of alternative DNS servers to be used by the emulated system, instead of |
| the system's default. |
| |
| - a new '-scale <fraction>' option allows you to scale the emulator |
| window. <fraction> can be a number between 0.1 and 3.0. |
| |
| you can also use '-scale <value>dpi', (e.g. '-scale 110dpi') to indicate the |
| resolution of your host monitor screen. it will be divided by the emulated |
| device's resolution to get an absolute scale. |
| |
| - a new '-dpi-device <dpi>' option allows you to specific the resolution of |
| the emulated device's screen. Note that this is not required: the default |
| used is 165, which is the average of several prototypes we've been working |
| with. |
| |
| - add a new '-port <port>' option to specify which port the emulator should |
| bind to for the console, instead of letting it guess. <port> must be an |
| *even* integer between 5554 and 5584 included. the corresponding ADB port |
| will be <port>+1 |
| |
| - [DEPRECATED] add a new '-adb-port <port>' option to specify which port the |
| emulator should bind to, instead of letting it guess. <port> must be an odd |
| integer between 5555 and 5585 included. the corresponding control console |
| will be on <port>-1 |
| |
| NOTE: -adb-port is deprecated, don't use it, it will probably disappear |
| NOTE2: you cannot use both -port and -adb-port at the same time. |
| |
| - a new '-no-boot-anim' options tells the emulated system to disable the boot |
| animation. on slow systems, this can *significantly* reduce the time to |
| boot the system in the emulator. |
| |
| - you can now redefine the emulator's keybinding by writing a 'keyset' file |
| and use '-keyset <filename>' to use it when starting the emulator. use |
| -help-keyset and -help-keyset-file for all details. |
| |
| this allows you to use the emulator effectively on keyboards which don't |
| have a keypad, by using different keys.. |
| |
| - you can now toggle between windowed and fullscreen mode at runtime by |
| pressing Alt-Enter (only works on Linux at the moment !!) |
| |
| - use '-audio-out <backend>' and '-audio-in <backend>' to change the output |
| and input audio backends used by the emulator. see -help-audio-out and |
| -help-audio-in for a list of valid values. |
| |
| this is equivalent to setting the QEMU_AUDIO_OUT_DRV and QEMU_AUDIO_IN_DRV |
| environment variables. |
| |
| use '-audio <backend>' to set both the input and output backends at the |
| same time. this is equivalent to setting the QEMU_AUDIO_DRV environment |
| variable. |
| |
| |
| NEW CONSOLE COMMANDS: |
| |
| - the new 'power' command can be used to control the power/battery state of |
| the emulated device. |
| |
| - the new 'event send' command can be used to send simulated hardware events |
| to the Android Linux kernel. each event must be in the form |
| <type>:<code>:<value> where: |
| |
| <type> is either an integer or a corresponding string alias |
| (use "event types" to see a list of aliases) |
| |
| <code> is either an integer or a corresponding string alias |
| that depends on the value of <type> (use "event codes <type>" |
| to see a list of these aliases) |
| |
| <value> is an integer |
| |
| NOTE: Be warned that it is very easy to confuse the kernel about the state |
| of emulated hardware by sending the wrong event. An *excellent* |
| knowledge of the Linux kernel internals is encouraged before playing |
| with "event send". |
| |
| - the new 'event text <textMessage>' command can be used to simulate |
| keypresses of small text messages, where <textMessage> is an utf-8 string. |
| |
| - the new 'avd stop' and 'avd start' command can be used to stop/start the |
| emulation. you can also use 'avd status' to query the current state. |
| |
| - the new 'window scale <scale>' command allows you to change the scale of |
| the emulator window dynamically. <scale> is either an integer followed by |
| the 'dpi' suffix (e.g. '120dpi') or a real number between 0.1 and 3.0. |
| |
| in the first case, <scale> specifies your monitor dpi; in the second one, |
| the new window scale itself. |
| |
| |
| OTHER BUG FIXES: |
| |
| - in case of SDL_Init() failure, print the SDL error message. |
| - disable networking code's logging to /tmp/slirp.log |
| - the emulator now works with 2GB SD Card files |
| - the emulator doesn't prevent the screensaver to kick in on OS X anymore |
| - the -onion and -onion-alpha options now work properly |
| - a second emulator instance trying to use the same SD Card instance than a |
| first one will no longer crash |
| - it's now possible to properly start the emulator in the background on all |
| Unix shells (e.g. "emulator &") without being interrupted/stopped by a |
| SIGTTIN or SIGTTOU signal. |
| - fixed a bug in the SMS emulation that happened when using GSM 7-bit escaped |
| characters, i.e. anything in the following: [|]~\{}^ |
| - fixed a small regression where -data <foo> would fail if the file <foo> |
| did not exist. |
| |
| |
| REGRESSIONS: |
| |
| - the -flash-keys options doesn't work anymore |
| |
| |
| 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. |
| |
| OTHER: |
| |
| - you can now use -debug-<component> and/or -debug-no-<component> to |
| enable or disable the debug messages of a given emulator component. this |
| can be very useful for troubleshooting. for all details, use -help-debug |
| and -help-debug-tags |
| |
| - you can also use '-debug <tags>' where <tags> is a comma-separated list |
| of component names, optionally prefixed by a single '-'. see -help-debug |
| and -help-debug-tags for all details |
| |
| - you can now define the ANDROID_VERBOSE environment variable as a list |
| of "debug" items (each <item> corresponds to a -debug-<item> option). |
| for example, defining: |
| |
| ANDROID_VERBOSE=socket,keys |
| |
| is equivalent to using "-debug socket,keys" when invoking the emulator |
| |
| - as a special case, -debug-slirp enables logging of the router/firewall |
| operations to a temporary file (e.g. /tmp/android/slirp.log). you can |
| also specify a logging bitmask with the ANDROID_SLIRP_LOGMASK environment |
| variable (the default is a mask of 7). |
| |
| - removed many obsolete / unused source files from the repository. also |
| performed a rather heavy cleanup of the sources to make them somewhat |
| more manageable. |
| |
| - integrate dynticks support from upstream QEMU depot. this only allows one |
| to provide more precise timing accuracy in the guest under Linux. |
| (NOTE: disabled in the source code, since it seems that it freezes |
| the emulator sometimes) |
| |
| - audio input is now working on OS X, Windows and Linux. on Linux, there |
| are four different backends supported: EsounD, ALSA, OSS and SDL. they |
| are accessed through dlopen/dlsym, which means that the emulator binary |
| will run on any system. |
| |
| you can specify a given backend by defining the QEMU_AUDIO_DRV environment |
| variable to one of these values: |
| |
| alsa |
| esd |
| sdl |
| oss |
| none |
| |
| note that the "sdl" audio backend is the most compatible, but doesn't |
| support audio input at all !! |
| |
| - a new option '-cpu-delay <delay>' can be used to slow down the CPU |
| emulation. the <delay> is an integer between 0 and 1000. note that it |
| doesn't necessarily scale linearly with effective performance. |
| |
| the delay process is not exactly deterministic. this is just a hack that |
| may disappear or be completely re-implemented in the future |
| |
| - some new "gsm" and "sms" subcommands were added to the control console. |
| they are used internally by the voice/sms auto-forwarder and are probably |
| not very useful to typical developers |
| |
| - some code has been added to support save/restore of the AVD state to/from |
| a file. however this is not properly tested yet, and requires that you |
| use exactly the same options and disk images when reloading the AVD state. |
| |
| - added a new -cache <file> option to specify the cache partition image |
| file. the default is to use a temporary file instead |
| |
| - added a new -report-console <socket> option to be able to report the |
| automatically assigned console port to a remote third-party (e.g. a |
| script) before starting the emulation. see the output of -help for all |
| the details |
| |
| - (only useful to Android engineers) |
| the audio sub-system is now compiled in its own static library (called |
| libqemu-audio.a), which gets copied to the Android "prebuilt/Linux/qemu" |
| directory. this is done to avoid forcing all developers to install various |
| development packages on Linux, as well as all build servers. there is also |
| now a script named "distrib/update-audio.sh" which will update the depot |
| file automatically for you: call it whenever you change the audio sources. |