해당 포스트를 보는 사람이라면 Android Studio는 기본적으로 설치되어 있을 것이라 생각한다. 그리고 Mac 사용자라면 Homebrew도 설치되어 있다고 생각하지만 혹시 그렇지 않은 사람들은 하단 포스트를 참고하기 바란다.
[Mac] M1 Pro MacBook에 Homebrew 설치하기
Android 앱을 개발하다 보면 기기의 하드웨어를 필요로 하는 경우 Android Studio의 가상 기기로는 테스트함에 있어서 한계가 있다. 따라서 종종 실제 기기를 USB로 연결하여 디버깅하곤 했는데 scrcpy라는 프로그램을 알게 되었다.
scrcpy?
scrcpy는 휴대폰의 화면을 노트북에 연결하여 미러링 해주는 프로그램이다. (scrcpy 이름을 보자마자 strcpy가 생각이 났다)
scrcpy 설치하기
Homebrew를 통해 설치할 수 있다
brew install scrcpy
터미널을 열고 위 명령어를 실행하게 되면 설치가 된다.
위 사진처럼 많은 dependency가 Fetch 되고 Install 되기 때문에 시간이 꽤 걸린다.
다양한 블로그를 참고하다보면
brew install scrcpy
뿐만 아니라
brew install --cask android-platform-tools
도 설치하다고 하지만 android-platform-tools는 Android Studio를 설치하면서 기본 설정으로만 설치했다면 다음과 같이 이미 설치되어 있다. 따라서 중복해서 설치할 필요가 없다.
그럼 이제 끝?
Nope!
노트북과 Android 휴대폰을 USB로 연결하고 개발자 옵션에서 USB 디버깅도 활성화해 준 다음 연결된 기기 목록을 아래 명령어로 확인해 보면 adb가 뭐냐고 노트북이 물어볼 것이다.
adb devices
이것은 Android-Platform-Tools가 시스템의 환경변수 PATH에 추가되지 않았기 때문이다. (해당 포스팅을 쓰게 된 근본적인 이유다)
그렇다면 android-platform-tools를 환경변수에 어떻게 추가해야 하나?
1. 우선 platform-tools의 위치부터 알아야 한다.
이는 바로 위 이미지의 출처인 Settings - Language & Frameworks - Android SDK에서 확인 가능하다.
위 경로를 확인하고 여기에 있는 platform-tools를 환경변수 PATH에 추가해 주면 노트북은 이제 터미널에서 adb가 뭐냐고 되묻지 않을 것이다.
2. Java의 환경변수를 만들었던 ~/.zshenv에 다음 텍스트를 넣어준다.
export PATH=$PATH:/Users/사용자 이름/Library/Android/sdk/platform-tools
~/.zshenv에 환경변수 추가하는 법은 [Java] M1 Pro MacBook에 zulu Java 설치하기(+ 환경변수 PATH 설정)를 참고하면 된다.
3. ~/.zshenv에 추가한 PATH를 시스템에 적용시켜 준다.
source ~/.zshenv
4. 이제 터미널에서 adb devices를 통해 노트북에 연결된 기기를 확인해 볼 수 있다.
마무리
이제 터미널에서 scrcpy명령어를 통해 기기 화면을 노트북에 미러링 하여 앱을 테스트할 수 있다.
만약 'adb devices' 를 실행 시 'device' 대신에 'unauthorized' 가 뜬다면 USB 디버깅을 허용해주지 않은 경우이다.
이미 허용해 준 상태라면 해제했다가 다시 설정해 주면 되고
허용해주지 않았다면 허용해 주면 된다.