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