Skip to content

Commit 84e6be5

Browse files
author
Brendan Dahl
committed
Create packaged emulator compatible with mach.
Creates/copies all the necessary files and folders need for a packaged emulator to work with mach's un-packaging script and emulator starting script.
1 parent d9b8369 commit 84e6be5

File tree

1 file changed

+36
-24
lines changed

1 file changed

+36
-24
lines changed

scripts/package-emulator.sh

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,45 @@
11
#!/bin/bash
2-
set -
3-
cd ..
4-
. setup.sh
2+
source build/envsetup.sh
3+
HOST_ARCH=$(get_build_var HOST_ARCH)
4+
lunch "aosp_${HOST_ARCH}-userdebug"
55
PRODUCT_OUT=$(get_build_var PRODUCT_OUT)
6-
HOST_OUT=$(get_build_var HOST_OUT)
76
OUT_DIR=$(get_abs_build_var OUT_DIR)
7+
OUT_TEMP_DIR=$(get_build_var OUT_DIR)/avd_package
8+
# Default name compatible with mach's emulator extractor.
9+
AVD_NAME="test-1"
10+
AVD_DIR_NAME="${AVD_NAME}.avd"
11+
12+
mkdir -p $OUT_TEMP_DIR/$AVD_DIR_NAME
13+
14+
echo "avd.ini.encoding=UTF-8
15+
path=/home/cltbld/.android/avd/${AVD_DIR_NAME}
16+
path.rel=avd/${AVD_DIR_NAME}
17+
target=android-29" > $OUT_TEMP_DIR/$AVD_NAME.ini
18+
19+
CONFIG_FILE=$OUT_TEMP_DIR/$AVD_DIR_NAME/config.ini
20+
cp $PRODUCT_OUT/config.ini $CONFIG_FILE
21+
sed -i 's/image\.sysdir\.1=x86\//image\.sysdir\.1=/g' $CONFIG_FILE
22+
echo -e "abi.type=$HOST_ARCH\nhw.cpu.arch=$HOST_ARCH" >> $CONFIG_FILE
823

924
EMULATOR_FILES=(\
10-
.config \
11-
load-config.sh \
12-
run-emulator.sh \
13-
${HOST_OUT}/bin/adb \
14-
${HOST_OUT}/bin/emulator \
15-
${HOST_OUT}/bin/emulator-arm \
16-
${HOST_OUT}/bin/mksdcard \
17-
${HOST_OUT}/bin/qemu-android-x86 \
18-
${HOST_OUT}/lib \
19-
${HOST_OUT}/usr \
20-
development/tools/emulator/skins \
21-
prebuilts/qemu-kernel/arm/kernel-qemu-armv7 \
22-
${PRODUCT_OUT}/system/build.prop \
23-
${PRODUCT_OUT}/system.img \
24-
${PRODUCT_OUT}/userdata.img \
25-
${PRODUCT_OUT}/ramdisk.img)
25+
${PRODUCT_OUT}/cache.img \
26+
${OUT_TEMP_DIR}/${AVD_NAME}.ini \
27+
${OUT_TEMP_DIR}/${AVD_DIR_NAME}/config.ini \
28+
${PRODUCT_OUT}/encryptionkey.img \
29+
${PRODUCT_OUT}/kernel-ranchu \
30+
${PRODUCT_OUT}/ramdisk.img \
31+
${PRODUCT_OUT}/VerifiedBootParams.textproto \
32+
${PRODUCT_OUT}/system/build.prop \
33+
${PRODUCT_OUT}/system-qemu.img \
34+
${PRODUCT_OUT}/userdata.img)
2635

2736
EMULATOR_ARCHIVE="${OUT_DIR}/emulator.tar.gz"
2837

29-
echo "Creating emulator archive at $EMULATOR_ARCHIVE"
30-
31-
rm -rf $EMULATOR_ARCHIVE
32-
tar -cvzf $EMULATOR_ARCHIVE --transform 's,^,b2g-distro/,S' --show-transformed-names ${EMULATOR_FILES[@]}
38+
echo "Creating emulator archive at ${EMULATOR_ARCHIVE}"
3339

40+
# Create a file structure needed by mach.
41+
rm -f $EMULATOR_ARCHIVE
42+
tar -cvzf $EMULATOR_ARCHIVE --transform "\
43+
s,^${PRODUCT_OUT}/system/,avd/${AVD_DIR_NAME}/,S;\
44+
s,^${PRODUCT_OUT}/,avd/${AVD_DIR_NAME}/,S;\
45+
s,^${OUT_TEMP_DIR}/,avd/,S" --show-transformed-names ${EMULATOR_FILES[@]}

0 commit comments

Comments
 (0)