MacOS에서 appium-doctor 도장깨기 (appium-doctor --android)

소찬 (Chan)·2022년 8월 29일
0
post-thumbnail

English Version is here.

Android 도 한번 appium-doctor 도장깨기를 해보겠습니다.

appium-doctor --android
WARN AppiumDoctor ✖ ANDROID_HOME environment variable is NOT set!
WARN AppiumDoctor ✖ JAVA_HOME environment variable is NOT set!
WARN AppiumDoctor ✖ adb, android, emulator could not be found because ANDROID_HOME or ANDROID_SDK_ROOT is NOT set!
WARN AppiumDoctor ✖ Cannot check $JAVA_HOME requirements since the environment variable itself is not set
WARN AppiumDoctor ✖ bundletool.jar cannot be found
WARN AppiumDoctor ✖ gst-launch-1.0 and/or gst-inspect-1.0 cannot be found

ANDROID_HOME

우선 Android Studio 를 설치해야 됩니다. https://developer.android.com/studio 에 접속하셔서, 최신 mac 의 Android Studio 를 받아 설치해주세요.
설치한뒤 실행해서 Wizard 를 쭉 완료합니다.

그리고 virtual device 가 하나는 있어야 합니다. 빈 프로젝트를 생성해서 Device Manager를 실행합니다.

테스트를 위한 디바이스를 선택한 뒤 설치를 진행합니다.

설치가 완료되면 sdk 내에 tools 라는 directory 가 생성됩니다.

  • $ANDROID_HOME 경로
    /Users/{user_id}/Library/Android/sdk

  • android 경로
    $ANDROID_HOME/tools

$ANDROID_HOME 과 android 명령어가 있는 경로는 아래서 몰아서 같이 세팅을 해보겠습니다.

JAVA_HOME

JAVA_HOME 을 설정하기 위해선 Java SE Development Kit를 우선 설치해야 됩니다.
https://www.oracle.com/java/technologies/downloads/
설치 후, 잘 설치되었는지 확인하기 위해 터미널에서 java --version 을 실행시켜 봅니다.

java 18... 2022-xx-xx
Java(TM) SE Runtime Environment (build 18...)

이제 JAVA_HOME으로 연결할 위치 확인을 위해 /usr/libexec/java_home 를 터미널에 실행해주면 경로가 보여집니다.

% /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk-xxxx(버전명).jdk/Contents/Home

위 주소로 JAVA_HOME 을 연결해주시면 됩니다. 연결은 역시 아래에서 몰아서 해보도록 하겠습니다.

bundletool.jar

bundle-tools 최신 파일을 하기 github 에서 다운로드 합니다.
https://github.com/google/bundletool/releases

cd ANDROIDHOME</code><code>mkdirbundletool</code>이제<code>ANDROID_HOME</code> <code>mkdir bundle-tool</code> 이제 <code>ANDROID_HOME/bundle-tool 에 github에서 받은 bundletool을 보내둡니다.
이름은 bundletool.jar 로 변경해서 보내둡니다.
mv bundletool-all-1.11.0.jar $ANDROID_HOME/bundle-tool/bundletool.jar
그런뒤 $ANDROID_HOME/bundle-tool 폴더로 가셔서, bundletool.jar 에 접근 가능한 권한을 부여해 줍니다.
chmod +x bundletool.jar

bundletool.jar 도 이제 세팅이 끝났습니다.

.bash_profile

뜬금없이 .bash_profile 이 나온 이유는,
ANDROID_HOME과 JAVA_HOME 의 경우 터미널 진입 시 매번 export 로 지정해야 되는데,
번거로우므로, 터미널 진입시 자동 설정되도록 하기 위함입니다. 저는 옛날(?) 사람이 아니므로 nano 로 .bash_profile 을 생성해보겠습니다.

nano ~/.bash_profile

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-18.0.2.1.jdk/Contents/Home"
ANDROID_HOME=/Users/{user_id}/Library/Android/sdk
export JAVA_HOME
export ANDROID_HOME
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/bundle-tool

ANDROID_HOME, JAVA_HOME, platform-tools, tools, bundle-tool 경로를 설정해줍니다.
자동으로 실행되게 하기위해선 .zshrc 로 생성을 시켜줘야 합니다.
echo "source ~/.bash_profile" >> ~/.zshrc

gst-launch-1.0 and gst-inspect-1.0

하기 웹사이트에 설치 방법이 나와있습니다.
https://appium.io/docs/en/writing-running-appium/android/android-screen-streaming/

설명 나온대로 brew로 설치를 진행해줍니다.

brew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav
profile
QA Specialist

0개의 댓글