blob: 35a519b7c0d28ad05131dfce603d6126f0e82e16 [file] [log] [blame]
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -08001Android 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
David 'Digit' Turnerd68b4872009-07-24 16:33:05 +020015 1.9 => SDK 1.5_r1 (and SDK 1.5_r2)
16 1.10 => SDK 1.5_r3
David 'Digit' Turner5ad9feb2009-08-21 03:05:29 +020017 1.11 => SDK 1.6_r1
David 'Digit' Turner8b657e52009-12-01 13:38:21 -080018 1.12 => SDK 2.0
19 1.13 => SDK 2.0.1 (but wrongly tagged 1.12)
David 'Digit' Turnera383d022009-12-03 13:50:00 -080020 5.0 => current
David 'Digit' Turner8b657e52009-12-01 13:38:21 -080021
22==============================================================================
David 'Digit' Turnera383d022009-12-03 13:50:00 -080023Changes 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
David 'Digit' Turner8b657e52009-12-01 13:38:21 -080034
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.
David 'Digit' Turner5ad9feb2009-08-21 03:05:29 +020055
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.
David 'Digit' Turnerd68b4872009-07-24 16:33:05 +020063
David 'Digit' Turnerabe08222009-08-21 09:59:10 +020064- The key-bindings for the Menu button (F2 and PageUp by default) didn't work
65 due to a typo.
66
David 'Digit' Turnercd059b12009-08-28 19:36:27 +020067OTHER:
68
David 'Digit' Turner5d8f37a2009-09-14 14:32:27 -070069- 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
David 'Digit' Turnerd68b4872009-07-24 16:33:05 +020075==============================================================================
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
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080083
David 'Digit' Turnera69c35e2009-07-30 15:20:54 +020084OTHER:
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
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800114==============================================================================
David 'Digit' Turnere15f24b2009-06-01 18:38:37 +0200115Changes 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
David 'Digit' Turnerd68b4872009-07-24 16:33:05 +0200140- Allow the HTTP proxy implementation to receive chunked encoding data.
141 This shall solve problems when talking to Microsoft proxies.
142
David 'Digit' Turnere15f24b2009-06-01 18:38:37 +0200143OTHER:
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
David 'Digit' Turnerd68b4872009-07-24 16:33:05 +0200161- Fix GPS emulation to allow several clients concurrently. There are still
162 problems that may be due to changes in the system's framework.
David 'Digit' Turnere15f24b2009-06-01 18:38:37 +0200163
164- Added some technical documentation in the docs/ directory.
165
166==============================================================================
167Changes between 1.9 and 1.8
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800168
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
David Turnerfff1ae52009-04-05 14:22:28 -0700173 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.
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800176
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
David Turnerfff1ae52009-04-05 14:22:28 -0700249 of the '.android' data directory (which defaults to your $HOME).
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800250
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
The Android Open Source Project92c73112009-03-05 14:34:31 -0800270- Using '-no-audio' no longer disables sound hardware emulation. It simply
271 mutes the emulator program on the host.
272
David Turner791d8612009-04-13 18:01:32 -0700273- 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
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800281==============================================================================
David 'Digit' Turnere15f24b2009-06-01 18:38:37 +0200282Changes between 1.7 and 1.6
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800283
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==============================================================================
David 'Digit' Turnere15f24b2009-06-01 18:38:37 +0200322Changes between 1.6 and 1.5
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800323
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==============================================================================
David 'Digit' Turnere15f24b2009-06-01 18:38:37 +0200358Changes between 1.5 and 1.4
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800359
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==============================================================================
David 'Digit' Turnere15f24b2009-06-01 18:38:37 +0200381Changes between 1.4 and 1.3
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800382
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==============================================================================
David 'Digit' Turnere15f24b2009-06-01 18:38:37 +0200456Changes between 1.3 and 1.2
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800457
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==============================================================================
David 'Digit' Turnere15f24b2009-06-01 18:38:37 +0200552Changes between 1.2 and 1.1
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800553
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.