CHANGES.TXT revision a383d02cb57dd7dadd382654175e51354073a139
1Android Emulator changes: 2========================= 3 4Versions: 5 6 1.0 => SDK M3 release 7 1.1 => SDK M5 release 8 1.2 => Internal release (build 72264) 9 1.3 => Internal release (build 77780) 10 1.4 => Internal release (build 84853) 11 1.5 => SDK 0.9_r1 12 1.6 => SDK 1.0_r1 13 1.7 => SDK 1.0_r2 14 1.8 => SDK 1.1 15 1.9 => SDK 1.5_r1 (and SDK 1.5_r2) 16 1.10 => SDK 1.5_r3 17 1.11 => SDK 1.6_r1 18 1.12 => SDK 2.0 19 1.13 => SDK 2.0.1 (but wrongly tagged 1.12) 20 5.0 => current 21 22============================================================================== 23Changes between 5.0 and 1.13 24 25IMPORTANT CHANGES: 26 27- Starting from this release, the emulator's version number will match the 28 corresponding Android SDK Tools package revision number. The exact number 29 is extracted at build time from the Android source tree. 30 31 The minor number will now be stuck to 0 since each official emulator 32 release is supposed to match a corresponding SDK Tools release. 33 34 35OTHER: 36 37- Fixed a bug that crashed the emulator when the SD Card image size was exactly 38 8 MB. Now, the minimum supported size is 9 MB, and the emulator will complain 39 with a human-friendly message if this is not the case, and ignore the SD Card 40 file. 41 42============================================================================== 43Changes between 1.13 and 1.12 44 45IMPORTANT BUG FIXES: 46 47- Fix D-Pad rotation issues in the skins. The problem being that switching 48 the emulator window to landscape mode resulted in incorrectly rotated 49 D-Pad events. The fix allows for a new 'dpad-rotation' field for each 50 layout. 51 52- Fixed a bug in Thumb2 emulation (not used by typical SDK images yet though) 53 that resulted incorrect behaviour / crashes, especially in single-stepping 54 mode. 55 56============================================================================== 57Changes between 1.12 and 1.11 58 59IMPORTANT BUG FIXES: 60 61- Fixed a nasty race condition in the Linux EsounD audio backend which resulted 62 in rare lockups when stopping the emulator on this platform. 63 64- The key-bindings for the Menu button (F2 and PageUp by default) didn't work 65 due to a typo. 66 67OTHER: 68 69- Sources have been refreshed by a large integration of upstream QEMU 70 sources (version 0.10.50). The integration is based on the following commit, 71 dated 2009-06-19: 72 73 d2e9fd8f703203c2eeeed120b1ef6c3a6574e0ab 74 75============================================================================== 76Changes between 1.11 and 1.10 77 78IMPORTANT BUG FIXES: 79 80- Fixed ANDROID_SDK_HOME being ignored on Unix (not Windows). This environment 81 variable is used to locate a user's configuration files for the SDK, with a 82 default value of ~/.android 83 84OTHER: 85 86- Add "KEY_XXX" name alias for EV_KEY codes. This means that the console 87 command "event codes EV_KEY" will now return KEY_XXX code names (in addition 88 to BTN_YYY ones), and that you can use "event send EV_KEY:KEY_SOFT1:1" 89 instead of "event send EV_KEY:229:1" to simulate the press of the Menu 90 button. 91 92 The KEY_XXX values are defined by Linux. The following Android-specific 93 mappings apply: 94 95 KEY_HOME => Home key 96 KEY_BACK => Back key 97 KEY_SEND => Call key (e.g. Green Phone) 98 KEY_END => EndCall key (e.g. Red Phone) 99 KEY_SOFT1 => Menu key 100 101 KEY_VOLUME_UP 102 KEY_VOLUME_DOWN 103 104 KEY_SEARCH => Search key (if any) 105 KEY_POWER => Power button 106 KEY_CAMERA => Camera button 107 108 KEY_DOWN / UP / LEFT / RIGHT => DPad keys 109 KEY_CENTER => DPad / trackball click 110 111 Beware: KEY_MENU does *not* correspond to the "Menu" key of most Android 112 devices. 113 114============================================================================== 115Changes between 1.10 and 1.9 116 117IMPORTANT BUG FIXES: 118 119- Fixed sock_address_init_resolve() in sockets.c to work properly on 120 IPv6 capable systems, when the list returned by getaddrinfo() doesn't 121 necessarily reflect the simplistic heuristics that were used by the 122 previous implementation. On such systems, inter-emulator telephony 123 and SMS didn't work properly, as well as certain other network-related 124 tasks. 125 126IMPORTANT CHANGES: 127 128- Skins can now provide a button for the "SEARCH" scan-code, simply using 129 the "search" label for it. 130 131- A new option '-prop <name>=<value>' can be used to set a system property 132 at boot time in the emulated system. This only works for system images 133 starting at 1.5_r3, and will be ignored for older ones. 134 135 Note that properties starting with "ro." can only be set once. Moreover, 136 all system properties in the system build.prop or local.prop are parsed 137 by init before anything else. Any "ro." property in them cannot be 138 changed with this option. 139 140- Allow the HTTP proxy implementation to receive chunked encoding data. 141 This shall solve problems when talking to Microsoft proxies. 142 143OTHER: 144 145- Allow the SEARCH key-binding (F5) to work on keyboard-less hardware 146 configurations (AVDs). 147 148- Fixed a typo which prevented the kernel gdbstub from working properly 149 150- Fixed bad QADD/QDADD/QSUB/QDSUB emulation in the ARM JIT. 151 152- Fixed one minor crash when the Linux OSS audio backend was used with the 153 -debug-audio option. 154 155- Fixed emulator tracing bug (basic block address could be wrong). And add 156 support for recording native (JNI) calls when profiling. 157 158- Fixed build for platforms where deprecated symbol EAI_NODATA is not 159 defined. 160 161- Fix GPS emulation to allow several clients concurrently. There are still 162 problems that may be due to changes in the system's framework. 163 164- Added some technical documentation in the docs/ directory. 165 166============================================================================== 167Changes between 1.9 and 1.8 168 169IMPORTANT CHANGES: 170 171- Many features have been integrated from upstream QEMU sources, including 172 the new TCG code generator used by the ARM translator. This should result 173 in slightly faster execution speed on all supported platforms. Another 174 benefit is that you no longer require a specific (and obsolete) version 175 of GCC to build the emulator. 176 177- The emulator now requires that you specify a virtual device name when 178 starting the emulator, prefixed with the '@' sign. For example, to start 179 the 'foo' virtual device, type: 180 181 emulator @foo 182 183 Each AVD (Android Virtual Device) corresponds to a directory used to store 184 mutable disk images, an optional system image/kernel/sdcard, plus some 185 configuration file(s). 186 187 The command-line tool 'android' that comes with the SDK can be used to 188 create/list/remove virtual devices on your system. 189 190 Note that the '@<name>' form is a convenience shortcut for '-avd <name>'. 191 It is thus possible to place options after the AVD name on your command 192 line, as in: 193 194 emulator @foo -verbose -shell 195 196 Finally, when building the Android platform source tree, an AVD name is not 197 required and 'emulator' will start a new emulator instance exactly as 198 previously. 199 200- A new option '-sysdir <dir>' has been introduced, the interpretation of 201 the '-system' option has changed, and '-image <file>' should now be 202 considered obsolete. In more details: 203 204 * you should now use '-sysdir <dir>' instead of '-system <dir>' to specify 205 the directory where system images will be searched by the emulator 206 on startup. 207 208 * you should now use '-system <file>' to indicate which system.img partition 209 image to use at startup. 210 211 * you should not use '-system <dir>' or '-image <path>' anymore. However, 212 these options are still supported but will print a warning to remind you 213 to change your scripts/habits. 214 215 The change was done to reduce confusion as to what these options provide. 216 217- Options '-noaudio', '-nojni', '-noskin' and 'nocache' are deprecated. 218 You should use '-no-audio', '-no-jni', '-no-skin' and '-no-cache' instead. 219 220- Option 'initdata' is deprecated, you should use '-init-data' instead. 221 222- Hardware emulation is now limited to the corresponding Android Virtual 223 Device's configuration. This means it is now possible to not emulate 224 a touch-screen, trackball, dpad, keyboard, modem, etc... 225 226 Note that in the case of the Android build system, all hardware properties 227 are enabled by default, so this only affects "normal" virtual devices 228 created with the 'android' tool. 229 230- The emulator now supports capturing network packets to a file. 231 You can either use the new -tcpdump <file> command-line option, or use 232 the new console 'network capture start <file>' command (then use 233 'network capture stop' to stop it). 234 235 This captures all ethernet packets on the virtual LAN, so this includes 236 ARP, UDP, TCP, etc... The file is in libpcap format and can be opened with 237 external tools like WireShark for analysis. 238 239OTHER: 240 241- The file in ~/.android/default.keyset was ignored, unless you used 242 '-keyset default' explicitely. It is now loaded automatically when 243 available. 244 245- Environment variable ANDROID_SDK_ROOT can be used to specifiy the location 246 of the SDK installation path. 247 248- Environment variable ANDROID_SDK_HOME can be used to specify the location 249 of the '.android' data directory (which defaults to your $HOME). 250 251- A new console command 'avd name' can be used to query the name of the 252 virtual device running in the emulator. Note that it will be '<build>' 253 if you run from the Android build system. 254 255 Also, the emulator's window title also displays the AVD name now. 256 257- The option '-memory <size>' has been added. <memory> must be an integer 258 specifying the amount of physical RAM in the emulated device in megabytes. 259 The default value is 96. 260 261- The '-skindir <path>' option now requires that you specify a '-skin <name>' 262 option as well. 263 264- Better handling of Audio on Linux for the EsounD and Alsa backends 265 266- Fullscreen toggle should now work on Windows and OS X. On Linux, the 267 toggle will not switch the display resolution anymore (which resulted 268 in distorted images). 269 270- Using '-no-audio' no longer disables sound hardware emulation. It simply 271 mutes the emulator program on the host. 272 273- The window title bar changes when you toggle persistent trackball mode 274 (F6 by default). It will display something like the following: 275 276 "Press F6 to exit trackball mode ..." 277 278 The actual text depends on your key binding configuration. This is to help 279 people toggle the mode by accident. 280 281============================================================================== 282Changes between 1.7 and 1.6 283 284IMPORTANT BUG FIXES: 285 286- Properly create ~/.android directory when needed. 287 288- Do not leave temporary files in Android app-specific directory on Win32 289 290- Support for HTTP/HTTPS proxies has been considerably improved and should now 291 "just work" with a lot more HTTP proxies. In case of problem, use the 292 -debug-proxy option to dump debugging data to stderr. 293 294OTHER: 295 296- Trackball emulation has changed. First, the awkward "Control-T" keybinding 297 is gone. Instead, you can now: 298 299 - press 'Delete' to show the trackball and have it disappear as soon 300 as your release the key. 301 302 - press 'F6' to perform a persistent trackball mode toggle. 303 304 Also, trackball emulation is fixed in rotated/landscape mode now. 305 306- New option '-nand-limits <limits>' allows you to send a signal to a remote 307 process when a read or write threshold on flash storage is reached. This is 308 only useful for hardcore Android system hackers. 309 310- Fix emulator build on recent Cygwin releases (the -mno-cygwin headers do not 311 tolerate the _GNU_SOURCE macro definition anymore) 312 313- Fix Win32 emulator to support SD Card images larger than 2 GiB 314 315- The non-Android build system has been completely rewritten to allow building 316 the emulator on Linux x86_64. Also, there is now a single Makefile that 317 drives the build in both Android and non-Android modes. 318 319- '-qemu <other-options>' works again 320 321============================================================================== 322Changes between 1.6 and 1.5 323 324IMPORTANT CHANGES: 325 326- Emulator now saves the user image in <android>/SDK1.0/ 327 328OTHER: 329 330- Get rid of EsounD-related freezes on Linux (again) 331 332- Fix the documentation in -help-audio. '-audio list' doesn't work, one 333 needs to call -help-audio-out and -help-audio-in to get the list of valid 334 audio backends 335 336- Fix scrollwheel Dpad emulation in rotated mode. before that, using the 337 scroll-wheel would always generated Dpad Up/Down events, even when in 338 landscape mode. 339 340- Re-enable CPU fault emulation in case of unaligned data access. this was 341 previously disabled because it crashed the emulated kernel in previous 342 releases. 343 344- The emulator no longer prints an obscure warning when it doesn't find 345 the emulator.cfg configuration file in ~/.android. 346 347 'broken configuration file doesn't have a 'window' element' 348 349- Removed a bunch of obsolete options (e.g. -console, -adb-port, etc...) 350 351- Setting the network speed through the console or the -netspeed option will 352 properly modify the connectivity icon on the device. 353 354- Setting the GSM voice registration state to 'roaming' in the console will 355 properly modify the voice icon on the device 356 357============================================================================== 358Changes between 1.5 and 1.4 359 360IMPORTANT BUG FIXES: 361 362- Fix spurious discards of SMS messages when using two emulators. 363 364OTHER: 365 366- Get rid of EsounD-related freezes on Linux (again) 367 368- Fix the documentation in -help-audio. '-audio list' doesn't work; one 369 needs to call -help-audio-out and -help-audio-in to get the list of valid 370 audio backends 371 372- Fix scrollwheel Dpad emulation in rotated mode. before that, using the 373 scroll-wheel would always generated Dpad Up/Down events, even when in 374 landscape mode. 375 376- Re-enable CPU fault emulation in case of unaligned data access. This was 377 previously disabled because it crashed the emulated kernel in previous 378 releases. 379 380============================================================================== 381Changes between 1.4 and 1.3 382 383IMPORTANT BUG FIXES: 384 385- fix for audio-related Linux startup freezes when using the 'esd' and 'alsa' 386 backends 387 388- the number of audio buffers in the Windows backend has been incremented. 389 this gets rid of audio chopiness issues on Vista (and sometimes on XP too) 390 391NEW FEATURES: 392 393NEW CONSOLE COMMANDS: 394 395- new 'geo fix <lontitude> <latitude> [<altitude>]' command allows you to 396 send a simple GPS fix to the emulated system, without the headaches of 397 NMEA 1083 formatting. 398 399OTHER BUG FIXES: 400 401- fixed the -audio, -audio-in and -audio-out options (the <backend> values 402 were sometimes ignored) 403 404REGRESSIONS: 405 406OTHER: 407 408- the transitional '-qemud' option introduced in 1.3 is now gone. its 409 behaviour is now the default. 410 411- use the new '-old-system' option if you need to use a 1.4+ emulator binary 412 with older system images. if you don't use it, GSM and GPS emulation will 413 not work correctly (among other things). 414 415- the obsolete '-oldradio' option is now gone 416 417- on some Unix systems, SIGALRM is blocked by default, so unblock it when 418 creating the alarm timer 419 420- the 'esd' and 'alsa' libraries dump a lot of error messages to the console 421 by default on Linux. these are now disabled unless you use '-debug audio' 422 423- added the '-help-char-devices' help topic that describe the specification 424 of the <device> parameter of options like -serial, -gps, -shell-serial, 425 etc... 426 427KNOWN ISSUES: 428 429- no support for video input 430- no support for mutable SIM Card emulation yet 431- no support for bluetooth 432- no support for WiFi 433 434- on some Linux machines, the emulator might get stuck at startup. this 435 seems to be related to audio input support. try starting with 436 '-audio-in none' or even '-noaudio' to disable sound, or choose a 437 different audio backend by defining QEMU_AUDIO_DRV to an appropriate 438 value (read below). 439 440 you can also select different audio backends for both output and input 441 by defining QEMU_AUDIO_OUT_DRV and QEMU_AUDIO_IN_DRV independently. 442 443- on Windows, the emulator takes about 10-15% of the CPU even when the 444 emulated system is idle. this is a known issue related to QEMU's internal 445 event loop and Winsock. this should be fixed in a future emulator release. 446 447- GPS emulation only if you use the '-qemud' option. this is an experimental 448 option that is soon going to be the default. without this option, the 449 emulated system will start but GPS emulation will not work. 450 451 for the record, 'qemud' is a serial port multiplexer that is used to 452 multiplex several communication channels between the emulator and the 453 emulated system, though a single serial port. 454 455============================================================================== 456Changes between 1.3 and 1.2 457 458IMPORTANT BUG FIXES: 459 460NEW FEATURES: 461 462- '-audio-in <backend>' allows you to select the audio input backend from the 463 command line. this is equivalent to defining QEMU_AUDIO_IN_DRV=<backend> 464 465 '-audio-out <backend>' works for the audio output, and '-audio <backend>' 466 will select both input and output at the same time 467 468- '-debug <tags>' has replaced the old '-verbose-<tag1> -verbose-<tag2> ...' 469 debugging option. <tags> is a comma-separated list of debug tags 470 (see -help-debug-tags for a complete list). you can also use the special 471 value 'all' to indicate all debug tags, or prefix a '-' before a tag 472 name to disable it. for example: 473 474 -debug all,-audio 475 476 enables all debugging except audio. '-debug-<tag>' still works though. 477 478 note that while '-verbose-<tag>' is deprecated, '-verbose' is still supported 479 as an alias to '-debug-init' 480 481- '-keyset <file>' allows you to specific the keyset file to use. the default 482 is still ~/.android/default.keyset on Unix. for Windows, use -help-keyset 483 to get its default location (which differs between XP and Vista) 484 485 486NEW CONSOLE COMMANDS: 487 488- the 'geo nmea <sentence>' can be used to send a NMEA 1083 sentence as if 489 it came from an emulated GPS unit. NOTE: this doesn't work unless you 490 also use the '-qemud' option (see KNOWN ISSUES below) 491 492OTHER BUG FIXES: 493 494- severe color artefact issues when scaling the emulator window < 1.0 were 495 fixed. 496 497- fix rare random emulator freezes on Linux by disabling the 'dynticks' timer. 498 499REGRESSIONS: 500 501OTHER: 502 503- the ambiguous '-console' option is now obsolete. use '-shell' instead 504 505- the new '-shell-serial <device>' allows you to specify a device to 506 connect a root shell session to the emulated system. 507 508- the '-debug-kernel' option is now known as '-show-kernel' (the -debug- 509 prefix is reserved for strict emulator debugging features) 510 511- '-adb-port' has been removed from the list of options. similarly 512 '-port <port>' will accept an odd port number, but will print a warning 513 that it is using <port>-1 instead. 514 515- MMX is used on x86 to speed up window rescaling. 516 517- a new '-qemud' option is required to have GPS support work in this 518 SDK (either through '-gps <device>' or the 'geo nmea <sentence>' 519 console command) 520 521 this option is purely experimental and will soon become the default. 522 523KNOWN ISSUES: 524 525- no support for video input 526- no support for mutable SIM Card emulation yet 527- no support for bluetooth 528- no support for WiFi 529 530- on some Linux machines, the emulator might get stuck at startup. this 531 seems to be related to audio input support. try starting with 532 '-audio-in none' or even '-noaudio' to disable sound, or choose a 533 different audio backend by defining QEMU_AUDIO_DRV to an appropriate 534 value (read below). 535 536 you can also select different audio backends for both output and input 537 by defining QEMU_AUDIO_OUT_DRV and QEMU_AUDIO_IN_DRV independently. 538 539- on Windows, the emulator takes about 10-15% of the CPU even when the 540 emulated system is idle. this is a known issue related to QEMU's internal 541 event loop and Winsock. this should be fixed in a future emulator release. 542 543- GPS emulation only if you use the '-qemud' option. this is an experimental 544 option that is soon going to be the default. without this option, the 545 emulated system will start but GPS emulation will not work. 546 547 for the record, 'qemud' is a serial port multiplexer that is used to 548 multiplex several communication channels between the emulator and the 549 emulated system, though a single serial port. 550 551============================================================================== 552Changes between 1.2 and 1.1 553 554 555IMPORTANT BUG FIXES: 556 557- fixed a typo that prevented the F9/F10 keyboard shortcuts from working 558 properly, making non-programatically tracing unusable. 559 560- halve the emulator's memory requirements, saving around 130 megabytes 561 of memory by changing the way flash images are accessed (we now use 562 temporary files instead) 563 564- this emulator binary should be 10% to 20% faster than previous ones on 565 the Windows and OS X platforms. for faster boots, you may also want to 566 use the -no-boot-anim option described below to speed up the initial 567 boot sequence as well on slow machines. 568 569- proper rotation support when using Keypad 7/9 to switch between layouts 570 in the default HVGA skin. no need to use Ctrl-PageDown anymore 571 572- the -http-proxy <proxy> option didn't work correctly on Windows (unless 573 you were very lucky). 574 575- general socket handling code on Windows has been significantly improved. 576 577 578NEW FEATURES: 579 580- the console port number of a given emulator instance is now displayed in 581 its window's title bar. 582 583- voice/sms are automatically forwarded to other emulator instances running 584 on the same machine, as long as you use their console port number as the 585 destination phone number. 586 587 for example, if you have two emulator running, the first one will usually 588 use console port 5554, and the second one will use port 5556 589 590 then dialing 5556 on the 1st emulator will generate an incoming call on 591 the 2nd emulator. you can also hold/unhold calls as well. 592 593 this also works when sending SMS messages from one emulator to the other 594 595- the help system has been totally revamped: 596 597 * -help prints a summary of all options and help topics 598 * -help-<option> prints option-specific help 599 * -help-<topic> prints various topical help text 600 * -help-all prints *all* help content at once 601 602- the emulator now tries to automatically detect the host time zone and sends 603 it to the emulated system at startup (through the GSM modem). there is also 604 a new '-timezone <timezone>' option to be able to specify a different one. 605 606 IMPORTANT: the <timezone> name must be in zoneinfo format, i.e. 607 Area/Location, human-friendly abbreviations like "PST" or "CET" 608 will not work. examples are: 609 610 America/Los_Angeles 611 Europe/Paris 612 613- the emulator can now use up to 4 distinct DNS servers (instead of only one). 614 by default, they are taken from your system's list, which is obtained by 615 calling GetNetworkParams() on Win32, and parsing /etc/resolv.conf on 616 Unix. 617 618- a new '-dns-server <server>' option can be used to specify a comma-separated 619 list of alternative DNS servers to be used by the emulated system, instead of 620 the system's default. 621 622- a new '-scale <fraction>' option allows you to scale the emulator 623 window. <fraction> can be a number between 0.1 and 3.0. 624 625 you can also use '-scale <value>dpi', (e.g. '-scale 110dpi') to indicate the 626 resolution of your host monitor screen. it will be divided by the emulated 627 device's resolution to get an absolute scale. 628 629- a new '-dpi-device <dpi>' option allows you to specific the resolution of 630 the emulated device's screen. Note that this is not required: the default 631 used is 165, which is the average of several prototypes we've been working 632 with. 633 634- add a new '-port <port>' option to specify which port the emulator should 635 bind to for the console, instead of letting it guess. <port> must be an 636 *even* integer between 5554 and 5584 included. the corresponding ADB port 637 will be <port>+1 638 639- [DEPRECATED] add a new '-adb-port <port>' option to specify which port the 640 emulator should bind to, instead of letting it guess. <port> must be an odd 641 integer between 5555 and 5585 included. the corresponding control console 642 will be on <port>-1 643 644 NOTE: -adb-port is deprecated, don't use it, it will probably disappear 645 NOTE2: you cannot use both -port and -adb-port at the same time. 646 647- a new '-no-boot-anim' options tells the emulated system to disable the boot 648 animation. on slow systems, this can *significantly* reduce the time to 649 boot the system in the emulator. 650 651- you can now redefine the emulator's keybinding by writing a 'keyset' file 652 and use '-keyset <filename>' to use it when starting the emulator. use 653 -help-keyset and -help-keyset-file for all details. 654 655 this allows you to use the emulator effectively on keyboards which don't 656 have a keypad, by using different keys.. 657 658- you can now toggle between windowed and fullscreen mode at runtime by 659 pressing Alt-Enter (only works on Linux at the moment !!) 660 661- use '-audio-out <backend>' and '-audio-in <backend>' to change the output 662 and input audio backends used by the emulator. see -help-audio-out and 663 -help-audio-in for a list of valid values. 664 665 this is equivalent to setting the QEMU_AUDIO_OUT_DRV and QEMU_AUDIO_IN_DRV 666 environment variables. 667 668 use '-audio <backend>' to set both the input and output backends at the 669 same time. this is equivalent to setting the QEMU_AUDIO_DRV environment 670 variable. 671 672 673NEW CONSOLE COMMANDS: 674 675- the new 'power' command can be used to control the power/battery state of 676 the emulated device. 677 678- the new 'event send' command can be used to send simulated hardware events 679 to the Android Linux kernel. each event must be in the form 680 <type>:<code>:<value> where: 681 682 <type> is either an integer or a corresponding string alias 683 (use "event types" to see a list of aliases) 684 685 <code> is either an integer or a corresponding string alias 686 that depends on the value of <type> (use "event codes <type>" 687 to see a list of these aliases) 688 689 <value> is an integer 690 691 NOTE: Be warned that it is very easy to confuse the kernel about the state 692 of emulated hardware by sending the wrong event. An *excellent* 693 knowledge of the Linux kernel internals is encouraged before playing 694 with "event send". 695 696- the new 'event text <textMessage>' command can be used to simulate 697 keypresses of small text messages, where <textMessage> is an utf-8 string. 698 699- the new 'avd stop' and 'avd start' command can be used to stop/start the 700 emulation. you can also use 'avd status' to query the current state. 701 702- the new 'window scale <scale>' command allows you to change the scale of 703 the emulator window dynamically. <scale> is either an integer followed by 704 the 'dpi' suffix (e.g. '120dpi') or a real number between 0.1 and 3.0. 705 706 in the first case, <scale> specifies your monitor dpi; in the second one, 707 the new window scale itself. 708 709 710OTHER BUG FIXES: 711 712- in case of SDL_Init() failure, print the SDL error message. 713- disable networking code's logging to /tmp/slirp.log 714- the emulator now works with 2GB SD Card files 715- the emulator doesn't prevent the screensaver to kick in on OS X anymore 716- the -onion and -onion-alpha options now work properly 717- a second emulator instance trying to use the same SD Card instance than a 718 first one will no longer crash 719- it's now possible to properly start the emulator in the background on all 720 Unix shells (e.g. "emulator &") without being interrupted/stopped by a 721 SIGTTIN or SIGTTOU signal. 722- fixed a bug in the SMS emulation that happened when using GSM 7-bit escaped 723 characters, i.e. anything in the following: [|]~\{}^ 724- fixed a small regression where -data <foo> would fail if the file <foo> 725 did not exist. 726 727 728REGRESSIONS: 729 730- the -flash-keys options doesn't work anymore 731 732 733KNOWN ISSUES: 734 735- no support for video input 736- no support for mutable SIM Card emulation yet 737- no support for bluetooth 738- no support for WiFi 739 740- on some Linux machines, the emulator might get stuck at startup. this 741 seems to be related to audio input support. try starting with 742 '-audio-in none' or even '-noaudio' to disable sound, or choose a different 743 audio backend by defining QEMU_AUDIO_DRV to an appropriate value 744 (read below). 745 746 you can also select different audio backends for both output and input 747 by defining QEMU_AUDIO_OUT_DRV and QEMU_AUDIO_IN_DRV independently. 748 749- on Windows, the emulator takes about 10-15% of the CPU even when the 750 emulated system is idle. this is a known issue related to QEMU's internal 751 event loop and Winsock. this should be fixed in a future emulator release. 752 753OTHER: 754 755- you can now use -debug-<component> and/or -debug-no-<component> to 756 enable or disable the debug messages of a given emulator component. this 757 can be very useful for troubleshooting. for all details, use -help-debug 758 and -help-debug-tags 759 760- you can also use '-debug <tags>' where <tags> is a comma-separated list 761 of component names, optionally prefixed by a single '-'. see -help-debug 762 and -help-debug-tags for all details 763 764- you can now define the ANDROID_VERBOSE environment variable as a list 765 of "debug" items (each <item> corresponds to a -debug-<item> option). 766 for example, defining: 767 768 ANDROID_VERBOSE=socket,keys 769 770 is equivalent to using "-debug socket,keys" when invoking the emulator 771 772- as a special case, -debug-slirp enables logging of the router/firewall 773 operations to a temporary file (e.g. /tmp/android/slirp.log). you can 774 also specify a logging bitmask with the ANDROID_SLIRP_LOGMASK environment 775 variable (the default is a mask of 7). 776 777- removed many obsolete / unused source files from the repository. also 778 performed a rather heavy cleanup of the sources to make them somewhat 779 more manageable. 780 781- integrate dynticks support from upstream QEMU depot. this only allows one 782 to provide more precise timing accuracy in the guest under Linux. 783 (NOTE: disabled in the source code, since it seems that it freezes 784 the emulator sometimes) 785 786- audio input is now working on OS X, Windows and Linux. on Linux, there 787 are four different backends supported: EsounD, ALSA, OSS and SDL. they 788 are accessed through dlopen/dlsym, which means that the emulator binary 789 will run on any system. 790 791 you can specify a given backend by defining the QEMU_AUDIO_DRV environment 792 variable to one of these values: 793 794 alsa 795 esd 796 sdl 797 oss 798 none 799 800 note that the "sdl" audio backend is the most compatible, but doesn't 801 support audio input at all !! 802 803- a new option '-cpu-delay <delay>' can be used to slow down the CPU 804 emulation. the <delay> is an integer between 0 and 1000. note that it 805 doesn't necessarily scale linearly with effective performance. 806 807 the delay process is not exactly deterministic. this is just a hack that 808 may disappear or be completely re-implemented in the future 809 810- some new "gsm" and "sms" subcommands were added to the control console. 811 they are used internally by the voice/sms auto-forwarder and are probably 812 not very useful to typical developers 813 814- some code has been added to support save/restore of the AVD state to/from 815 a file. however this is not properly tested yet, and requires that you 816 use exactly the same options and disk images when reloading the AVD state. 817 818- added a new -cache <file> option to specify the cache partition image 819 file. the default is to use a temporary file instead 820 821- added a new -report-console <socket> option to be able to report the 822 automatically assigned console port to a remote third-party (e.g. a 823 script) before starting the emulation. see the output of -help for all 824 the details 825 826- (only useful to Android engineers) 827 the audio sub-system is now compiled in its own static library (called 828 libqemu-audio.a), which gets copied to the Android "prebuilt/Linux/qemu" 829 directory. this is done to avoid forcing all developers to install various 830 development packages on Linux, as well as all build servers. there is also 831 now a script named "distrib/update-audio.sh" which will update the depot 832 file automatically for you: call it whenever you change the audio sources. 833