CircleCI에서 안드로이드 에뮬레이터 실행
8234 단어 circleciandroidjavascriptios
우리는 iOS 터미널을 사용하여 CircleCI에서 실행되는 헤드리스 에뮬레이터를 얻을 수 있었습니다.
iOS 터미널은 에뮬레이터를 수용하도록 설정해야 하며 SDK, NDK, 플랫폼 도구,
다음을 수행해야 합니다.
그렇게 하기 위해
sh
를 만들어 봅시다.scripts/install-android-tools.sh
if [ -d $ANDROID_SDK_ROOT ]
then
echo "Directory $ANDROID_SDK_ROOT already exists so we're skipping the install. If you'd like to install fresh tools, edit this script to invalidate the CI cache."
exit 0
fi
mkdir -p $ANDROID_SDK_ROOT
cd $ANDROID_SDK_ROOT
curl https://dl.google.com/android/repository/sdk-tools-darwin-4333796.zip -o sdk-tools.zip
unzip sdk-tools.zip
mkdir -p "$ANDROID_SDK_ROOT/licenses"
echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_SDK_ROOT/licenses/android-sdk-license"
echo "84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_SDK_ROOT/licenses/android-sdk-preview-license"
echo "d975f751698a77b662f1254ddbeed3901e976f5a" > "$ANDROID_SDK_ROOT/licenses/intel-android-extra-license"
SDKMANAGER=$ANDROID_SDK_ROOT/tools/bin/sdkmanager
$SDKMANAGER "platform-tools"
$SDKMANAGER "platforms;android-29"
$SDKMANAGER "build-tools;29.0.2"
$SDKMANAGER "ndk-bundle"
$SDKMANAGER "system-images;android-29;google_apis;x86_64"
$SDKMANAGER "emulator"
echo "y" | sudo $SDKMANAGER --install "ndk;20.0.5594570" --sdk_root=${ANDROID_SDK_ROOT}
경로를 설정하고 스크립트를 실행하고 캐시하기 위해 circle ci에 명령 블록을 작성해 보겠습니다.
android-sdk-dependencies:
description: "Install and set android SDK"
steps:
- run:
name: set ANDROID_SDK_ROOT
command: |
echo 'export ANDROID_SDK_ROOT=$HOME/android-tools' >> $BASH_ENV
- restore_cache:
key: android=tools-v1-{{ checksum "scripts/install-android-tools.sh" }}-{{ arch }}
- run:
name: install android tools
command: |
sh scripts/install-android-tools.sh
echo 'export PATH=$ANDROID_SDK_ROOT/tools/bin:$PATH' >> $BASH_ENV
echo 'export PATH=$ANDROID_SDK_ROOT/tools:$PATH' >> $BASH_ENV
echo 'export PATH=$ANDROID_SDK_ROOT/platform-tools:$PATH' >> $BASH_ENV
echo 'export PATH=$ANDROID_SDK_ROOT/emulator:$PATH' >> $BASH_ENV
source $BASH_ENV
sdkmanager --list
- save_cache:
key: android=tools-v1-{{ checksum "scripts/install-android-tools.sh" }}-{{ arch }}
paths:
- /Users/distiller/android-tools
이제 에뮬레이터를 만들고 백그라운드 작업으로 부팅하는 일만 남았습니다.
create-launch-android-emulator:
description: "create and launch android emulators"
steps:
- run:
name: create AVD
command: echo "no" | avdmanager --verbose create avd --force --name "Pixel_3a_API_29" --package "system-images;android-29;google_apis;x86_64"
- run:
name: start AVD
command: emulator @Pixel_3a_API_29 -no-window -no-audio
background: true
- run:
name: wait for emulator
command: adb wait-for-device shell 'while [[ -z $(getprop dev.bootcomplete) ]]; do sleep 1; done;'
이제 에뮬레이터가 CCI에서 실행 중이며 here CircleCI의 전체 구성에 대한 링크입니다.
질문이 있는 경우 댓글로 알려주시면 피드백을 기다리겠습니다 🍻
Reference
이 문제에 관하여(CircleCI에서 안드로이드 에뮬레이터 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jeevankishore/run-android-emulator-on-circleci-2n75텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)