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