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