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