#!/bin/bash # Copyright 2020 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. # This is a script for the emulator to detect whether it's been translated in # Rosetta, and, if so, delete itself and replace it with a native Apple Silicon # build. To be superseded with arch-specific downloads in SDK Manager. cd "${0%/*}" # Fail on error set -e # Download the aarch64 emulator EMULATOR_DOWNLOAD_BASE_NAME="emulator-darwin-aarch64-0.2" rm -rf ${EMULATOR_DOWNLOAD_BASE_NAME} echo "curl -L https://github.com/google/android-emulator-m1-preview/releases/download/0.2/${EMULATOR_DOWNLOAD_BASE_NAME}-engine-only.zip -o ${EMULATOR_DOWNLOAD_BASE_NAME}.zip" curl -L https://github.com/google/android-emulator-m1-preview/releases/download/0.2/${EMULATOR_DOWNLOAD_BASE_NAME}-engine-only.zip -o ${EMULATOR_DOWNLOAD_BASE_NAME}.zip && \ echo "unzip ${EMULATOR_DOWNLOAD_BASE_NAME}.zip" && \ unzip ${EMULATOR_DOWNLOAD_BASE_NAME}.zip && \ # Delete all emulator files rm ./qsn rm ./qemu-img rm ./lib64/libemugl_common.dylib rm ./lib64/qt/plugins/platforms/libqcocoa.dylib rm ./lib64/qt/plugins/styles/libqmacstyle.dylib rm ./lib64/qt/plugins/bearer/libqgenericbearer.dylib rm ./lib64/qt/plugins/iconengines/libqsvgicon.dylib rm ./lib64/qt/plugins/imageformats/libqgif.dylib rm ./lib64/qt/plugins/imageformats/libqwbmp.dylib rm ./lib64/qt/plugins/imageformats/libqwebp.dylib rm ./lib64/qt/plugins/imageformats/libqico.dylib rm ./lib64/qt/plugins/imageformats/libqmacheif.dylib rm ./lib64/qt/plugins/imageformats/libqjpeg.dylib rm ./lib64/qt/plugins/imageformats/libqtiff.dylib rm ./lib64/qt/plugins/imageformats/libqsvg.dylib rm ./lib64/qt/plugins/imageformats/libqicns.dylib rm ./lib64/qt/plugins/imageformats/libqtga.dylib rm ./lib64/qt/plugins/imageformats/libqmacjp2.dylib rm ./lib64/qt/libexec/qtwebengine_resources.pak rm ./lib64/qt/libexec/QtWebEngineProcess rm ./lib64/qt/libexec/icudtl.dat rm ./lib64/qt/libexec/qtwebengine_locales/ar.pak rm ./lib64/qt/libexec/qtwebengine_locales/en-US.pak rm ./lib64/qt/libexec/qtwebengine_locales/lt.pak rm ./lib64/qt/libexec/qtwebengine_locales/tr.pak rm ./lib64/qt/libexec/qtwebengine_locales/te.pak rm ./lib64/qt/libexec/qtwebengine_locales/lv.pak rm ./lib64/qt/libexec/qtwebengine_locales/mr.pak rm ./lib64/qt/libexec/qtwebengine_locales/zh-TW.pak rm ./lib64/qt/libexec/qtwebengine_locales/ms.pak rm ./lib64/qt/libexec/qtwebengine_locales/nl.pak rm ./lib64/qt/libexec/qtwebengine_locales/bn.pak rm ./lib64/qt/libexec/qtwebengine_locales/vi.pak rm ./lib64/qt/libexec/qtwebengine_locales/ta.pak rm ./lib64/qt/libexec/qtwebengine_locales/zh-CN.pak rm ./lib64/qt/libexec/qtwebengine_locales/ja.pak rm ./lib64/qt/libexec/qtwebengine_locales/hi.pak rm ./lib64/qt/libexec/qtwebengine_locales/en-GB.pak rm ./lib64/qt/libexec/qtwebengine_locales/pl.pak rm ./lib64/qt/libexec/qtwebengine_locales/sw.pak rm ./lib64/qt/libexec/qtwebengine_locales/fa.pak rm ./lib64/qt/libexec/qtwebengine_locales/el.pak rm ./lib64/qt/libexec/qtwebengine_locales/sv.pak rm ./lib64/qt/libexec/qtwebengine_locales/sr.pak rm ./lib64/qt/libexec/qtwebengine_locales/es-419.pak rm ./lib64/qt/libexec/qtwebengine_locales/fr.pak rm ./lib64/qt/libexec/qtwebengine_locales/ru.pak rm ./lib64/qt/libexec/qtwebengine_locales/gu.pak rm ./lib64/qt/libexec/qtwebengine_locales/id.pak rm ./lib64/qt/libexec/qtwebengine_locales/fil.pak rm ./lib64/qt/libexec/qtwebengine_locales/sk.pak rm ./lib64/qt/libexec/qtwebengine_locales/ro.pak rm ./lib64/qt/libexec/qtwebengine_locales/es.pak rm ./lib64/qt/libexec/qtwebengine_locales/ko.pak rm ./lib64/qt/libexec/qtwebengine_locales/hu.pak rm ./lib64/qt/libexec/qtwebengine_locales/kn.pak rm ./lib64/qt/libexec/qtwebengine_locales/fi.pak rm ./lib64/qt/libexec/qtwebengine_locales/da.pak rm ./lib64/qt/libexec/qtwebengine_locales/sl.pak rm ./lib64/qt/libexec/qtwebengine_locales/de.pak rm ./lib64/qt/libexec/qtwebengine_locales/it.pak rm ./lib64/qt/libexec/qtwebengine_locales/hr.pak rm ./lib64/qt/libexec/qtwebengine_locales/he.pak rm ./lib64/qt/libexec/qtwebengine_locales/pt-PT.pak rm ./lib64/qt/libexec/qtwebengine_locales/et.pak rm ./lib64/qt/libexec/qtwebengine_locales/cs.pak rm ./lib64/qt/libexec/qtwebengine_locales/nb.pak rm ./lib64/qt/libexec/qtwebengine_locales/am.pak rm ./lib64/qt/libexec/qtwebengine_locales/ml.pak rm ./lib64/qt/libexec/qtwebengine_locales/uk.pak rm ./lib64/qt/libexec/qtwebengine_locales/bg.pak rm ./lib64/qt/libexec/qtwebengine_locales/th.pak rm ./lib64/qt/libexec/qtwebengine_locales/ca.pak rm ./lib64/qt/libexec/qtwebengine_locales/pt-BR.pak rm ./lib64/qt/libexec/qtwebengine_resources_200p.pak rm ./lib64/qt/libexec/qtwebengine_devtools_resources.pak rm ./lib64/qt/libexec/qtwebengine_resources_100p.pak rm ./lib64/qt/resources/qtwebengine_resources.pak rm ./lib64/qt/resources/icudtl.dat rm ./lib64/qt/resources/qtwebengine_resources_200p.pak rm ./lib64/qt/resources/qtwebengine_devtools_resources.pak rm ./lib64/qt/resources/qtwebengine_resources_100p.pak rm ./lib64/qt/lib/libQt5WebEngineCoreAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5DBusAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5GuiAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5QuickWidgetsAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5WebChannelAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5SvgAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5PrintSupportAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5QmlAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5WidgetsAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5NetworkAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5WebEngineWidgetsAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5QuickAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5CoreAndroidEmu.5.12.1.dylib rm ./lib64/qt/lib/libQt5WebSocketsAndroidEmu.5.12.1.dylib rm ./lib64/qt/translations/qtwebengine_locales/ar.pak rm ./lib64/qt/translations/qtwebengine_locales/en-US.pak rm ./lib64/qt/translations/qtwebengine_locales/lt.pak rm ./lib64/qt/translations/qtwebengine_locales/tr.pak rm ./lib64/qt/translations/qtwebengine_locales/te.pak rm ./lib64/qt/translations/qtwebengine_locales/lv.pak rm ./lib64/qt/translations/qtwebengine_locales/mr.pak rm ./lib64/qt/translations/qtwebengine_locales/zh-TW.pak rm ./lib64/qt/translations/qtwebengine_locales/ms.pak rm ./lib64/qt/translations/qtwebengine_locales/nl.pak rm ./lib64/qt/translations/qtwebengine_locales/bn.pak rm ./lib64/qt/translations/qtwebengine_locales/vi.pak rm ./lib64/qt/translations/qtwebengine_locales/ta.pak rm ./lib64/qt/translations/qtwebengine_locales/zh-CN.pak rm ./lib64/qt/translations/qtwebengine_locales/ja.pak rm ./lib64/qt/translations/qtwebengine_locales/hi.pak rm ./lib64/qt/translations/qtwebengine_locales/en-GB.pak rm ./lib64/qt/translations/qtwebengine_locales/pl.pak rm ./lib64/qt/translations/qtwebengine_locales/sw.pak rm ./lib64/qt/translations/qtwebengine_locales/fa.pak rm ./lib64/qt/translations/qtwebengine_locales/el.pak rm ./lib64/qt/translations/qtwebengine_locales/sv.pak rm ./lib64/qt/translations/qtwebengine_locales/sr.pak rm ./lib64/qt/translations/qtwebengine_locales/es-419.pak rm ./lib64/qt/translations/qtwebengine_locales/fr.pak rm ./lib64/qt/translations/qtwebengine_locales/ru.pak rm ./lib64/qt/translations/qtwebengine_locales/gu.pak rm ./lib64/qt/translations/qtwebengine_locales/id.pak rm ./lib64/qt/translations/qtwebengine_locales/fil.pak rm ./lib64/qt/translations/qtwebengine_locales/sk.pak rm ./lib64/qt/translations/qtwebengine_locales/ro.pak rm ./lib64/qt/translations/qtwebengine_locales/es.pak rm ./lib64/qt/translations/qtwebengine_locales/ko.pak rm ./lib64/qt/translations/qtwebengine_locales/hu.pak rm ./lib64/qt/translations/qtwebengine_locales/kn.pak rm ./lib64/qt/translations/qtwebengine_locales/fi.pak rm ./lib64/qt/translations/qtwebengine_locales/da.pak rm ./lib64/qt/translations/qtwebengine_locales/sl.pak rm ./lib64/qt/translations/qtwebengine_locales/de.pak rm ./lib64/qt/translations/qtwebengine_locales/it.pak rm ./lib64/qt/translations/qtwebengine_locales/hr.pak rm ./lib64/qt/translations/qtwebengine_locales/he.pak rm ./lib64/qt/translations/qtwebengine_locales/pt-PT.pak rm ./lib64/qt/translations/qtwebengine_locales/et.pak rm ./lib64/qt/translations/qtwebengine_locales/cs.pak rm ./lib64/qt/translations/qtwebengine_locales/nb.pak rm ./lib64/qt/translations/qtwebengine_locales/am.pak rm ./lib64/qt/translations/qtwebengine_locales/ml.pak rm ./lib64/qt/translations/qtwebengine_locales/uk.pak rm ./lib64/qt/translations/qtwebengine_locales/bg.pak rm ./lib64/qt/translations/qtwebengine_locales/th.pak rm ./lib64/qt/translations/qtwebengine_locales/ca.pak rm ./lib64/qt/translations/qtwebengine_locales/pt-BR.pak rm ./lib64/gles_swiftshader/libEGL.dylib rm ./lib64/gles_swiftshader/libGLES_CM.dylib rm ./lib64/gles_swiftshader/libGLESv2.dylib rm ./lib64/vulkan/vk_swiftshader_icd.json rm ./lib64/vulkan/libvulkan.dylib rm ./lib64/vulkan/libMoltenVK.dylib rm ./lib64/vulkan/MoltenVK_icd.json rm ./lib64/vulkan/libvk_swiftshader.dylib rm ./lib64/vulkan/glslangValidator rm ./lib64/libshadertranslator.dylib rm ./lib64/libOpenglRender.dylib rm ./LICENSE rm ./resources/macroPreviews/Reset_position.mp4 rm ./resources/macroPreviews/Walk_to_image_room.mp4 rm ./resources/macroPreviews/Track_vertical_plane.mp4 rm ./resources/macroPreviews/Track_horizontal_plane.mp4 rm ./resources/Toren1BD_Decor.png rm ./resources/poster.png rm ./resources/Toren1BD.mtl rm ./resources/Toren1BD_Main.png rm ./resources/Toren1BD.posters rm ./resources/Toren1BD.obj rm ./resources/macros/Track_vertical_plane rm ./resources/macros/Reset_position rm ./resources/macros/Track_horizontal_plane rm ./resources/macros/Walk_to_image_room rm ./bin64/fsck.ext4 rm ./bin64/mkfs.ext4 rm ./bin64/tune2fs rm ./bin64/resize2fs rm ./bin64/e2fsck rm ./emulator-check rm ./perfetto-protozero-protoc-plugin rm ./qemu/darwin-x86_64/qemu-system* rm ./emulator64-crash-service rm ./lib/waterfall.proto rm ./lib/emulator_controller.proto rm ./lib/advancedFeaturesCanary.ini rm ./lib/hardware-properties.ini rm ./lib/advancedFeatures.ini rm ./lib/hostapd.conf rm ./lib/pc-bios/efi-e1000.rom rm ./lib/pc-bios/kvmvapic.bin rm ./lib/pc-bios/keymaps/sl rm ./lib/pc-bios/keymaps/pl rm ./lib/pc-bios/keymaps/modifiers rm ./lib/pc-bios/keymaps/sv rm ./lib/pc-bios/keymaps/da rm ./lib/pc-bios/keymaps/no rm ./lib/pc-bios/keymaps/Makefile rm ./lib/pc-bios/keymaps/ja rm ./lib/pc-bios/keymaps/lv rm ./lib/pc-bios/keymaps/it rm ./lib/pc-bios/keymaps/is rm ./lib/pc-bios/keymaps/cz rm ./lib/pc-bios/keymaps/ru rm ./lib/pc-bios/keymaps/en-gb rm ./lib/pc-bios/keymaps/bepo rm ./lib/pc-bios/keymaps/common rm ./lib/pc-bios/keymaps/pt rm ./lib/pc-bios/keymaps/fr-ch rm ./lib/pc-bios/keymaps/fr-ca rm ./lib/pc-bios/keymaps/mk rm ./lib/pc-bios/keymaps/ar rm ./lib/pc-bios/keymaps/hr rm ./lib/pc-bios/keymaps/pt-br rm ./lib/pc-bios/keymaps/hu rm ./lib/pc-bios/keymaps/nl rm ./lib/pc-bios/keymaps/de rm ./lib/pc-bios/keymaps/fi rm ./lib/pc-bios/keymaps/fr rm ./lib/pc-bios/keymaps/es rm ./lib/pc-bios/keymaps/et rm ./lib/pc-bios/keymaps/lt rm ./lib/pc-bios/keymaps/fo rm ./lib/pc-bios/keymaps/en-us rm ./lib/pc-bios/keymaps/de-ch rm ./lib/pc-bios/keymaps/th rm ./lib/pc-bios/keymaps/nl-be rm ./lib/pc-bios/keymaps/fr-be rm ./lib/pc-bios/keymaps/tr rm ./lib/pc-bios/multiboot.bin rm ./lib/pc-bios/vgabios-stdvga.bin rm ./lib/pc-bios/bios.bin rm ./lib/pc-bios/vgabios-virtio.bin rm ./lib/pc-bios/bios-256k.bin rm ./lib/pc-bios/linuxboot_dma.bin rm ./lib/pc-bios/linuxboot.bin rm ./lib/pc-bios/efi-virtio.rom rm ./lib/pc-bios/efi-e1000e.rom rm ./lib/pc-bios/vgabios-cirrus.bin rm ./lib/snapshot_service.proto rm ./lib/emu-original-feature-flags.protobuf rm ./lib/snapshot.proto rm ./lib/ca-bundle.pem rm ./lib/ui_controller_service.proto rm ./emulator # Copy the emulator over and delete the download echo "cp -r ${EMULATOR_DOWNLOAD_BASE_NAME}/* ." && \ cp -r ${EMULATOR_DOWNLOAD_BASE_NAME}/* . && \ rm -rf ${EMULATOR_DOWNLOAD_BASE_NAME} && \ rm -rf ${EMULATOR_DOWNLOAD_BASE_NAME}*.zip