Upgrade emulator to emu-master-dev build 5955183
am: eb08eaa623
Change-Id: I5003409db2bcee31af3aa3d89bba008ea98077c6
diff --git a/darwin-x86_64/NOTICE.txt b/darwin-x86_64/NOTICE.txt
index 4485d44..ec0af64 100644
--- a/darwin-x86_64/NOTICE.txt
+++ b/darwin-x86_64/NOTICE.txt
@@ -218,6 +218,7 @@
/emulator/qemu/darwin-x86_64/qemu-system-aarch64
/emulator/qemu/darwin-x86_64/qemu-system-aarch64-headless
/emulator/qemu/darwin-x86_64/qemu-system-i386
+/emulator/qemu/darwin-x86_64/qemu-system-armel-headless
/emulator/qemu/darwin-x86_64/qemu-system-x86_64
/emulator/qemu/darwin-x86_64/qemu-system-armel
/emulator/qemu/darwin-x86_64/qemu-system-i386-headless
@@ -227,6 +228,7 @@
/emulator/lib/advancedFeaturesCanary.ini
/emulator/lib/emu-original-feature-flags.protobuf
/emulator/lib/advancedFeatures.ini
+/emulator/lib/snapshot.proto
/emulator/lib/ca-bundle.pem
/emulator/lib/pc-bios/efi-e1000.rom
/emulator/lib/pc-bios/kvmvapic.bin
diff --git a/darwin-x86_64/emulator b/darwin-x86_64/emulator
index 62c3a80..4a253db 100755
--- a/darwin-x86_64/emulator
+++ b/darwin-x86_64/emulator
Binary files differ
diff --git a/darwin-x86_64/emulator-check b/darwin-x86_64/emulator-check
index 148a9b8..ee7d616 100755
--- a/darwin-x86_64/emulator-check
+++ b/darwin-x86_64/emulator-check
Binary files differ
diff --git a/darwin-x86_64/emulator-headless b/darwin-x86_64/emulator-headless
index 15ff65e..dcea21f 100755
--- a/darwin-x86_64/emulator-headless
+++ b/darwin-x86_64/emulator-headless
Binary files differ
diff --git a/darwin-x86_64/lib/emulator_controller.proto b/darwin-x86_64/lib/emulator_controller.proto
index e9c3edd..0acfcf1 100644
--- a/darwin-x86_64/lib/emulator_controller.proto
+++ b/darwin-x86_64/lib/emulator_controller.proto
@@ -21,6 +21,7 @@
package android.emulation.control;
import "google/protobuf/empty.proto";
+import "snapshot.proto";
// An EmulatorController service lets you control the emulator.
service EmulatorController {
@@ -75,6 +76,40 @@
// The ice candidates for example will trickle in on this callback,
// as will the SDP negotation.
rpc receiveJsepMessage(RtcId) returns (JsepMsg) {}
+
+ // Lists all the valid snapshots that are stored locally for the currently
+ // running avd.
+ rpc listSnapshots(google.protobuf.Empty) returns (SnapshotList) {}
+
+ // Gets the snapshot with the given id.
+ rpc getSnapshot(Snapshot) returns (stream Snapshot) {}
+
+ // Stores the given snapshot.
+ rpc putSnapshot(stream Snapshot) returns (Snapshot) {}
+
+ // Starts the given snapshot
+ rpc startSnapshot(Snapshot) returns (google.protobuf.Empty) {}
+}
+
+message Snapshot {
+ // The identifier to the snapshot.
+ string snapshot_id = 1;
+
+ // A stream of bytes. Encoded as a zip file.
+ bytes payload = 2;
+
+ // status fields.
+ bool success = 3;
+ bytes err = 4;
+}
+
+message SnapshotDetails {
+ string snapshot_id = 1;
+ emulator_snapshot.Snapshot details = 2;
+}
+
+message SnapshotList {
+ repeated SnapshotDetails snapshots = 1;
}
message RtcId {
@@ -142,6 +177,7 @@
HV_HAXM = 3;
HV_HVF = 4;
HV_WHPX = 5;
+ HV_GVM = 6;
};
VmHypervisorType hypervisorType = 1;
diff --git a/darwin-x86_64/lib/hardware-properties.ini b/darwin-x86_64/lib/hardware-properties.ini
index f0b4c44..159d30c 100644
--- a/darwin-x86_64/lib/hardware-properties.ini
+++ b/darwin-x86_64/lib/hardware-properties.ini
@@ -263,6 +263,33 @@
default = 60
abstract = LCD VSYNC rate
+# GL transport
+name = hw.gltransport
+type = string
+default = pipe
+enum = tcp, pipe, virtio-gpu, asg
+abstract = Transport used to run graphics
+
+name = hw.gltransport.asg.writeBufferSize
+type = integer
+default = 1048576
+abstract = For address space graphics, the total size of the write buffer the guest can write into
+
+name = hw.gltransport.asg.writeStepSize
+type = integer
+default = 4096
+abstract = For address space graphics, the max size of each guest-to-host transaction.
+
+name = hw.gltransport.asg.dataRingSize
+type = integer
+default = 32768
+abstract = For address space graphics, the size of the ring used to transfer larger buffers.
+
+name = hw.gltransport.drawFlushInterval
+type = integer
+default = 800
+abstract = Interval over which to flush draw calls (balance host gpu starve vs pipe notif overhead)
+
# Display sub-region
# Indicates a reduced area of hw.lcd that is used when a foldable device
# is in its folded configuration.
@@ -679,3 +706,19 @@
default = no
abstract = Always use cold boot
description = If set, AVD will always use the full cold boot instead of snapshot-based quick boot process
+
+
+# SDK Path used during generation of this hardware configuration
+name = android.sdk.root
+type = string
+default =
+abstract = sdk root that was used during the construction of this hardware.ini
+description = This can be used by post processing tools to migrate snapshots
+
+# AVD home used during generation of this hardware configuration
+name = android.avd.home
+type = string
+default =
+abstract = avd home that was used during the construction of this hardware.ini
+description = This can be used by post processing tools to migrate snapshots
+
diff --git a/darwin-x86_64/lib/snapshot.proto b/darwin-x86_64/lib/snapshot.proto
new file mode 100644
index 0000000..9229c09
--- /dev/null
+++ b/darwin-x86_64/lib/snapshot.proto
@@ -0,0 +1,146 @@
+// Copyright (C) 2018 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto2";
+
+// This file must be synchronized between
+// Emulator (branch aosp/emu-master-dev):
+// external/qemu/android/android-emu/android/snapshot/proto/snapshot.proto
+//
+// Android Studio (branch goog/studio-master-dev):
+// tools/adt/idea/android/src/com/android/emulator/snapshot.proto
+//
+// If you modify one, please modify the other.
+
+package emulator_snapshot;
+
+option java_package = "com.android.emulator";
+
+message Image {
+ enum Type {
+ IMAGE_TYPE_UNKNOWN = 0;
+ IMAGE_TYPE_KERNEL = 1;
+ IMAGE_TYPE_KERNEL_RANCHU = 2;
+ IMAGE_TYPE_SYSTEM = 3;
+ IMAGE_TYPE_SYSTEM_COPY = 4;
+ IMAGE_TYPE_DATA = 5;
+ IMAGE_TYPE_DATA_COPY = 6;
+ IMAGE_TYPE_RAMDISK = 7;
+ IMAGE_TYPE_SDCARD = 8;
+ IMAGE_TYPE_CACHE = 9;
+ IMAGE_TYPE_VENDOR = 10;
+ IMAGE_TYPE_ENCRYPTION_KEY = 11;
+ }
+
+ optional Type type = 1;
+ optional string path = 2;
+ optional bool present = 3;
+ optional int64 size = 4;
+ optional int64 modification_time = 5;
+}
+
+message Host {
+ optional string gpu_driver = 4;
+ optional int32 hypervisor = 5;
+}
+
+message Config {
+ // Features are int32, not enums here to make sure we don't have to update
+ // one more protobuf definition with every single new feature flag, even
+ // when the code doesn't really care about the actual meaning for them,
+ // only for the values.
+ repeated int32 enabled_features = 1;
+
+ // This holds the renderer; int32 for the same reason as |enabled_features|.
+ optional int32 selected_renderer = 2;
+
+ optional int32 cpu_core_count = 3;
+ optional int64 ram_size_bytes = 4;
+}
+
+message SaveStats {
+ // Type of save
+ // 0: non-incremental
+ // 1: incremental
+ optional uint32 incremental = 1;
+ // Time taken to save.
+ optional uint64 duration = 2;
+ // How many changed bytes in RAM.
+ optional uint64 ram_changed_bytes = 3;
+}
+
+message Snapshot {
+ // Update every time when introducing some breaking changes that make the
+ // previous loading code break when trying to load the new snapshot.
+ // NOTE: if the old code is fine with just skipping the new fields or not
+ // getting the meaning of new values, |version| should remain
+ // unchanged.
+ optional int32 version = 1;
+
+ // Purely informative: when this snapshot was created, Unix timestamp.
+ optional int64 creation_time = 2;
+
+ // List of mounted disk images used during the snapshot creation.
+ repeated Image images = 3;
+
+ // Description of the host machine properties needed to load this snapshot.
+ optional Host host = 4;
+
+ // Description of the emulator configuration needed for this snapshot.
+ // NOTE: try not to duplicate the configuration that's already in
+ // hardware-qemu.ini; only add what's either not there or what
+ // could've been overridden during process initialization.
+ optional Config config = 5;
+
+ // Set if the snapshot failed to load during the last attempt.
+ // Code is up to the application to define, with 0 meaning 'not failed' just
+ // in case.
+ optional int64 failed_to_load_reason_code = 7;
+
+ // Set if data image is mounted.
+ // User build and userdebug build mount data partition at different time.
+ // But it should be done before boot finished, so this field is very likely
+ // to be true.
+ // We snapshot it here just in case someday we support snapshot during
+ // booting.
+ optional bool guest_data_partition_mounted = 8;
+
+ // Emulator rotation angle, in right angles (e.g. 1 is 90 degrees, 2 is 180
+ // etc).
+ optional int32 rotation = 9;
+
+ // Number of invalid loads / crashes that happened under this snapshot.
+ optional int32 invalid_loads = 10;
+
+ // Number of successful loads.
+ optional int32 successful_loads = 11;
+
+ // The name given to the snapshot by the user. Independent of the
+ // file name.
+ optional string logical_name = 12;
+
+ // The file name of this snapshot's parent. The parent is the
+ // snapshot that was loaded into the AVD prior to this snapshot
+ // being taken
+ optional string parent = 13;
+
+ // Arbitrary description added by the user
+ optional string description = 14;
+
+ // Record of save stats.
+ repeated SaveStats save_stats = 15;
+
+ // Folded state.
+ optional bool folded = 16;
+}
diff --git a/darwin-x86_64/lib64/emulator-studio-view.jar b/darwin-x86_64/lib64/emulator-studio-view.jar
index 490cd2f..fdb6ec6 100644
--- a/darwin-x86_64/lib64/emulator-studio-view.jar
+++ b/darwin-x86_64/lib64/emulator-studio-view.jar
Binary files differ
diff --git a/darwin-x86_64/lib64/libEGL_translator.dylib b/darwin-x86_64/lib64/libEGL_translator.dylib
index 0dbf8d9..50db4ee 100755
--- a/darwin-x86_64/lib64/libEGL_translator.dylib
+++ b/darwin-x86_64/lib64/libEGL_translator.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libGLES12Translator.dylib b/darwin-x86_64/lib64/libGLES12Translator.dylib
index cc00137..819483a 100755
--- a/darwin-x86_64/lib64/libGLES12Translator.dylib
+++ b/darwin-x86_64/lib64/libGLES12Translator.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libGLES_CM_translator.dylib b/darwin-x86_64/lib64/libGLES_CM_translator.dylib
index 6b5e35c..75156f6 100755
--- a/darwin-x86_64/lib64/libGLES_CM_translator.dylib
+++ b/darwin-x86_64/lib64/libGLES_CM_translator.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libGLES_V2_translator.dylib b/darwin-x86_64/lib64/libGLES_V2_translator.dylib
index 5d7fe6d..d50d7a1 100755
--- a/darwin-x86_64/lib64/libGLES_V2_translator.dylib
+++ b/darwin-x86_64/lib64/libGLES_V2_translator.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libOpenglRender.dylib b/darwin-x86_64/lib64/libOpenglRender.dylib
index 96cf71f..fb83f67 100755
--- a/darwin-x86_64/lib64/libOpenglRender.dylib
+++ b/darwin-x86_64/lib64/libOpenglRender.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libandroid-studio.dylib b/darwin-x86_64/lib64/libandroid-studio.dylib
index 14a38be..346e27c 100755
--- a/darwin-x86_64/lib64/libandroid-studio.dylib
+++ b/darwin-x86_64/lib64/libandroid-studio.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libemugl_common.dylib b/darwin-x86_64/lib64/libemugl_common.dylib
index 5d22bdb..d9356d9 100755
--- a/darwin-x86_64/lib64/libemugl_common.dylib
+++ b/darwin-x86_64/lib64/libemugl_common.dylib
Binary files differ
diff --git a/darwin-x86_64/mksdcard b/darwin-x86_64/mksdcard
index 2ce9e1a..033c7ed 100755
--- a/darwin-x86_64/mksdcard
+++ b/darwin-x86_64/mksdcard
Binary files differ
diff --git a/darwin-x86_64/qemu-img b/darwin-x86_64/qemu-img
index d19cec6..66aae35 100755
--- a/darwin-x86_64/qemu-img
+++ b/darwin-x86_64/qemu-img
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64 b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64
index a913c6b..a9f27b1 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64-headless b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64-headless
index acee829..c84d145 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64-headless
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64-headless
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel
index 470e8a2..64b4a90 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel-headless b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel-headless
new file mode 100755
index 0000000..d95b0a3
--- /dev/null
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel-headless
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386 b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386
index 65e8fee..54da2c7 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386-headless b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386-headless
index 2348e3d..7a8478b 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386-headless
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386-headless
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64 b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64
index ff9579b..27e1f58 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64-headless b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64-headless
index b606c6d..536091c 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64-headless
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64-headless
Binary files differ
diff --git a/darwin-x86_64/source.properties b/darwin-x86_64/source.properties
index ebda06c..359c0e8 100644
--- a/darwin-x86_64/source.properties
+++ b/darwin-x86_64/source.properties
@@ -1,5 +1,5 @@
Pkg.UserSrc=false
-Pkg.Revision=29.2.4
+Pkg.Revision=29.2.6
Pkg.Path=emulator
Pkg.Desc=Android Emulator
Pkg.Dependencies=tools#25.3
diff --git a/linux-x86_64/NOTICE.txt b/linux-x86_64/NOTICE.txt
index a84ca67..78c7bb8 100644
--- a/linux-x86_64/NOTICE.txt
+++ b/linux-x86_64/NOTICE.txt
@@ -28,6 +28,7 @@
/emulator/bin64/mkfs.ext4
/emulator/bin64/fsck.ext4
/emulator/bin64/e2fsck
+/emulator/lib/snapshot.proto
/emulator/lib/waterfall.proto
/emulator/lib/emulator_controller.proto
/emulator/lib/hardware-properties.ini
@@ -153,6 +154,7 @@
/emulator/lib64/qt/lib/libQt5WidgetsAndroidEmu.so.5
/emulator/lib64/qt/lib/libQt5GuiAndroidEmu.so.5
/emulator/lib64/qt/lib/libQt5CoreAndroidEmu.so.5
+/emulator/qemu/linux-x86_64/qemu-system-armel-headless
/emulator/qemu/linux-x86_64/qemu-system-aarch64-headless
/emulator/qemu/linux-x86_64/qemu-system-x86_64-headless
/emulator/qemu/linux-x86_64/qemu-system-i386-headless
diff --git a/linux-x86_64/emulator b/linux-x86_64/emulator
index 567f1ee..b83e7f0 100755
--- a/linux-x86_64/emulator
+++ b/linux-x86_64/emulator
Binary files differ
diff --git a/linux-x86_64/emulator-headless b/linux-x86_64/emulator-headless
index 59a6f4f..648dce8 100755
--- a/linux-x86_64/emulator-headless
+++ b/linux-x86_64/emulator-headless
Binary files differ
diff --git a/linux-x86_64/lib/emulator_controller.proto b/linux-x86_64/lib/emulator_controller.proto
index e9c3edd..0acfcf1 100644
--- a/linux-x86_64/lib/emulator_controller.proto
+++ b/linux-x86_64/lib/emulator_controller.proto
@@ -21,6 +21,7 @@
package android.emulation.control;
import "google/protobuf/empty.proto";
+import "snapshot.proto";
// An EmulatorController service lets you control the emulator.
service EmulatorController {
@@ -75,6 +76,40 @@
// The ice candidates for example will trickle in on this callback,
// as will the SDP negotation.
rpc receiveJsepMessage(RtcId) returns (JsepMsg) {}
+
+ // Lists all the valid snapshots that are stored locally for the currently
+ // running avd.
+ rpc listSnapshots(google.protobuf.Empty) returns (SnapshotList) {}
+
+ // Gets the snapshot with the given id.
+ rpc getSnapshot(Snapshot) returns (stream Snapshot) {}
+
+ // Stores the given snapshot.
+ rpc putSnapshot(stream Snapshot) returns (Snapshot) {}
+
+ // Starts the given snapshot
+ rpc startSnapshot(Snapshot) returns (google.protobuf.Empty) {}
+}
+
+message Snapshot {
+ // The identifier to the snapshot.
+ string snapshot_id = 1;
+
+ // A stream of bytes. Encoded as a zip file.
+ bytes payload = 2;
+
+ // status fields.
+ bool success = 3;
+ bytes err = 4;
+}
+
+message SnapshotDetails {
+ string snapshot_id = 1;
+ emulator_snapshot.Snapshot details = 2;
+}
+
+message SnapshotList {
+ repeated SnapshotDetails snapshots = 1;
}
message RtcId {
@@ -142,6 +177,7 @@
HV_HAXM = 3;
HV_HVF = 4;
HV_WHPX = 5;
+ HV_GVM = 6;
};
VmHypervisorType hypervisorType = 1;
diff --git a/linux-x86_64/lib/hardware-properties.ini b/linux-x86_64/lib/hardware-properties.ini
index f0b4c44..159d30c 100644
--- a/linux-x86_64/lib/hardware-properties.ini
+++ b/linux-x86_64/lib/hardware-properties.ini
@@ -263,6 +263,33 @@
default = 60
abstract = LCD VSYNC rate
+# GL transport
+name = hw.gltransport
+type = string
+default = pipe
+enum = tcp, pipe, virtio-gpu, asg
+abstract = Transport used to run graphics
+
+name = hw.gltransport.asg.writeBufferSize
+type = integer
+default = 1048576
+abstract = For address space graphics, the total size of the write buffer the guest can write into
+
+name = hw.gltransport.asg.writeStepSize
+type = integer
+default = 4096
+abstract = For address space graphics, the max size of each guest-to-host transaction.
+
+name = hw.gltransport.asg.dataRingSize
+type = integer
+default = 32768
+abstract = For address space graphics, the size of the ring used to transfer larger buffers.
+
+name = hw.gltransport.drawFlushInterval
+type = integer
+default = 800
+abstract = Interval over which to flush draw calls (balance host gpu starve vs pipe notif overhead)
+
# Display sub-region
# Indicates a reduced area of hw.lcd that is used when a foldable device
# is in its folded configuration.
@@ -679,3 +706,19 @@
default = no
abstract = Always use cold boot
description = If set, AVD will always use the full cold boot instead of snapshot-based quick boot process
+
+
+# SDK Path used during generation of this hardware configuration
+name = android.sdk.root
+type = string
+default =
+abstract = sdk root that was used during the construction of this hardware.ini
+description = This can be used by post processing tools to migrate snapshots
+
+# AVD home used during generation of this hardware configuration
+name = android.avd.home
+type = string
+default =
+abstract = avd home that was used during the construction of this hardware.ini
+description = This can be used by post processing tools to migrate snapshots
+
diff --git a/linux-x86_64/lib/snapshot.proto b/linux-x86_64/lib/snapshot.proto
new file mode 100644
index 0000000..9229c09
--- /dev/null
+++ b/linux-x86_64/lib/snapshot.proto
@@ -0,0 +1,146 @@
+// Copyright (C) 2018 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto2";
+
+// This file must be synchronized between
+// Emulator (branch aosp/emu-master-dev):
+// external/qemu/android/android-emu/android/snapshot/proto/snapshot.proto
+//
+// Android Studio (branch goog/studio-master-dev):
+// tools/adt/idea/android/src/com/android/emulator/snapshot.proto
+//
+// If you modify one, please modify the other.
+
+package emulator_snapshot;
+
+option java_package = "com.android.emulator";
+
+message Image {
+ enum Type {
+ IMAGE_TYPE_UNKNOWN = 0;
+ IMAGE_TYPE_KERNEL = 1;
+ IMAGE_TYPE_KERNEL_RANCHU = 2;
+ IMAGE_TYPE_SYSTEM = 3;
+ IMAGE_TYPE_SYSTEM_COPY = 4;
+ IMAGE_TYPE_DATA = 5;
+ IMAGE_TYPE_DATA_COPY = 6;
+ IMAGE_TYPE_RAMDISK = 7;
+ IMAGE_TYPE_SDCARD = 8;
+ IMAGE_TYPE_CACHE = 9;
+ IMAGE_TYPE_VENDOR = 10;
+ IMAGE_TYPE_ENCRYPTION_KEY = 11;
+ }
+
+ optional Type type = 1;
+ optional string path = 2;
+ optional bool present = 3;
+ optional int64 size = 4;
+ optional int64 modification_time = 5;
+}
+
+message Host {
+ optional string gpu_driver = 4;
+ optional int32 hypervisor = 5;
+}
+
+message Config {
+ // Features are int32, not enums here to make sure we don't have to update
+ // one more protobuf definition with every single new feature flag, even
+ // when the code doesn't really care about the actual meaning for them,
+ // only for the values.
+ repeated int32 enabled_features = 1;
+
+ // This holds the renderer; int32 for the same reason as |enabled_features|.
+ optional int32 selected_renderer = 2;
+
+ optional int32 cpu_core_count = 3;
+ optional int64 ram_size_bytes = 4;
+}
+
+message SaveStats {
+ // Type of save
+ // 0: non-incremental
+ // 1: incremental
+ optional uint32 incremental = 1;
+ // Time taken to save.
+ optional uint64 duration = 2;
+ // How many changed bytes in RAM.
+ optional uint64 ram_changed_bytes = 3;
+}
+
+message Snapshot {
+ // Update every time when introducing some breaking changes that make the
+ // previous loading code break when trying to load the new snapshot.
+ // NOTE: if the old code is fine with just skipping the new fields or not
+ // getting the meaning of new values, |version| should remain
+ // unchanged.
+ optional int32 version = 1;
+
+ // Purely informative: when this snapshot was created, Unix timestamp.
+ optional int64 creation_time = 2;
+
+ // List of mounted disk images used during the snapshot creation.
+ repeated Image images = 3;
+
+ // Description of the host machine properties needed to load this snapshot.
+ optional Host host = 4;
+
+ // Description of the emulator configuration needed for this snapshot.
+ // NOTE: try not to duplicate the configuration that's already in
+ // hardware-qemu.ini; only add what's either not there or what
+ // could've been overridden during process initialization.
+ optional Config config = 5;
+
+ // Set if the snapshot failed to load during the last attempt.
+ // Code is up to the application to define, with 0 meaning 'not failed' just
+ // in case.
+ optional int64 failed_to_load_reason_code = 7;
+
+ // Set if data image is mounted.
+ // User build and userdebug build mount data partition at different time.
+ // But it should be done before boot finished, so this field is very likely
+ // to be true.
+ // We snapshot it here just in case someday we support snapshot during
+ // booting.
+ optional bool guest_data_partition_mounted = 8;
+
+ // Emulator rotation angle, in right angles (e.g. 1 is 90 degrees, 2 is 180
+ // etc).
+ optional int32 rotation = 9;
+
+ // Number of invalid loads / crashes that happened under this snapshot.
+ optional int32 invalid_loads = 10;
+
+ // Number of successful loads.
+ optional int32 successful_loads = 11;
+
+ // The name given to the snapshot by the user. Independent of the
+ // file name.
+ optional string logical_name = 12;
+
+ // The file name of this snapshot's parent. The parent is the
+ // snapshot that was loaded into the AVD prior to this snapshot
+ // being taken
+ optional string parent = 13;
+
+ // Arbitrary description added by the user
+ optional string description = 14;
+
+ // Record of save stats.
+ repeated SaveStats save_stats = 15;
+
+ // Folded state.
+ optional bool folded = 16;
+}
diff --git a/linux-x86_64/lib64/emulator-studio-view.jar b/linux-x86_64/lib64/emulator-studio-view.jar
index 77caa3f..ae39673 100644
--- a/linux-x86_64/lib64/emulator-studio-view.jar
+++ b/linux-x86_64/lib64/emulator-studio-view.jar
Binary files differ
diff --git a/linux-x86_64/lib64/libGLES_CM_translator.so b/linux-x86_64/lib64/libGLES_CM_translator.so
index 76bca12..179b353 100644
--- a/linux-x86_64/lib64/libGLES_CM_translator.so
+++ b/linux-x86_64/lib64/libGLES_CM_translator.so
Binary files differ
diff --git a/linux-x86_64/lib64/libGLES_V2_translator.so b/linux-x86_64/lib64/libGLES_V2_translator.so
index c1a84f7..a84d5cb 100644
--- a/linux-x86_64/lib64/libGLES_V2_translator.so
+++ b/linux-x86_64/lib64/libGLES_V2_translator.so
Binary files differ
diff --git a/linux-x86_64/lib64/libOpenglRender.so b/linux-x86_64/lib64/libOpenglRender.so
index 7086987..2de25b5 100644
--- a/linux-x86_64/lib64/libOpenglRender.so
+++ b/linux-x86_64/lib64/libOpenglRender.so
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/libvk_swiftshader.so b/linux-x86_64/lib64/vulkan/libvk_swiftshader.so
index 5120734..5cc2818 100644
--- a/linux-x86_64/lib64/vulkan/libvk_swiftshader.so
+++ b/linux-x86_64/lib64/vulkan/libvk_swiftshader.so
Binary files differ
diff --git a/linux-x86_64/qemu-img b/linux-x86_64/qemu-img
index 22c4e66..ae1b5d7 100755
--- a/linux-x86_64/qemu-img
+++ b/linux-x86_64/qemu-img
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64 b/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64
index 213230d..9af2add 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64-headless b/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64-headless
index ced7f0e..c4b2db3 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64-headless
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64-headless
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-armel b/linux-x86_64/qemu/linux-x86_64/qemu-system-armel
index f1b0df3..510d914 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-armel
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-armel
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-armel-headless b/linux-x86_64/qemu/linux-x86_64/qemu-system-armel-headless
new file mode 100755
index 0000000..71764d3
--- /dev/null
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-armel-headless
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-i386 b/linux-x86_64/qemu/linux-x86_64/qemu-system-i386
index 33eb9de..219fd75 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-i386
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-i386
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-i386-headless b/linux-x86_64/qemu/linux-x86_64/qemu-system-i386-headless
index cf388b0..be894a0 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-i386-headless
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-i386-headless
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64 b/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64
index 724cfc3..7a4713b 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64-headless b/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64-headless
index 4685f0f..fe0def1 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64-headless
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64-headless
Binary files differ
diff --git a/linux-x86_64/source.properties b/linux-x86_64/source.properties
index ebda06c..359c0e8 100644
--- a/linux-x86_64/source.properties
+++ b/linux-x86_64/source.properties
@@ -1,5 +1,5 @@
Pkg.UserSrc=false
-Pkg.Revision=29.2.4
+Pkg.Revision=29.2.6
Pkg.Path=emulator
Pkg.Desc=Android Emulator
Pkg.Dependencies=tools#25.3