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