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