안드로이드 스튜디오 PluginApplicationException 및 Adb connect
기존에 출시 직전까지 제작했던 내 워치 프로젝트의 화면 설계서이다.
3학년 내내 학교 수업을 들으면서 틈틈이 제작을 했었지만, 4학년이 되어서 잠정 중단하였다.
이유는 생각보다 빠듯한 4학년 스케쥴과 정보처리기사 자격증 공부였다.
그리고 노트북만 사용하다가 데스크탑을 맞춘 현재, 프로젝트 개편이 필요하다고 생각했다.
6개월동안의 휴식기, 하드웨어 실행 환경의 변화.
두 가지 조건은 프로젝트 개편하기 위한 이유로는 충분했다.
기본적으로 스토어에 앱 출시가 목표이기 때문에, Github에 소스 코드는 공개하지 않았다.
그렇기에 피드백을 받기 더욱 힘들 것이고, 자발적으로 더 꼼꼼하게, 큰 맥락에서 바라볼 수 있어야 한다.
우선 노트북에 있던 소스 코드를 데스크탑으로 가져와 환경을 설정해주는 것부터 시작해야 한다.
Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin 'com.android.internal.application'.라는 오류가 떴다.
SDK 버전이나, Path 환경 설정 오류라고 생각했는데 경로에 한글이 섞여있으면 뜨는 오류라고 한다.
한글 폴더명을 바꾸는 김에 OneDrive가 섞여있어 이도 같이 바꿔주었다.
OneDrive는 윈도우 11과 함께 번들로 제공하는 Microsoft 클라우드이다.
하지만 OneDrive를 사용하지 않는 사용자 입장에서 이보다 불편한 경우가 없다.
아무 것도 하지 않아도 윈도우 11로 시작하면 기본 경로가 OneDrive로 설정되기 때문이다...
분명 전에 OneDirve를 제어판에서 삭제했던 기억이 있는데, 왜 아직도 남아있는지 모르겠다.
파일 탐색기를 열어 바탕화면 우클릭, 속성을 누르면 오른쪽과 같은 속성 창이 뜬다.
만일 파일 탐색기 바로가기 등록에 바탕화면이 없다면, 직접 Desktop으로 경로를 찾아 들어가면 된다.
바탕화면 속성 창 > 위치 > 경로에서 직접 본인이 원하는 곳을 작성하든, 기본값 복원을 하든 하면 된다.
기본값 복원 시 "C:\Users:\{Username}:\Desktop"이 기본 경로로 정해진다.
위치에 Desktop이 없을 경우, 알아서 생성하고 파일 이동까지 알아서 진행한다.
그렇게하고 안드로이드 스튜디오를 재실행하니 정상적으로 작동하였다.
위에 Virtual device에 알 수 없는 단말기기가 뜨는데 아마 이전에 사용하던 기기가 없어 기본 디바이스로 정해진 것 같다.
옮긴 소스 코드가 워치에서 정상 동작하는지까지는 확인하려 한다.
안드로이드 스튜디오와 갤럭시 워치를 연동하기 위해서는 adb(android debug bridge)를 사용해야 한다.
└ https://developer.android.com/studio/command-line/adb?hl=ko
안드로이드 스튜디오 하단 메뉴바를 보면 Terminal 창이 있다.
안드로이드 스튜디오에서 컴퓨터의 명령 프롬프트 창처럼 사용할 수 있는 탭이다. 여기서 adb를 실행해야 한다.
그 전에 adb를 사용할 수 있는 SDK를 설치하고, 경로 설정을 해야 한다.
필요한 SDK는 Tools > SDK Manager > SDK Tools > Android SDK Platform-Tools이다.
자세한 사항은 왼쪽의 그림과 같다. 옅은 회색으로 선택한 부분을 설치하면 된다.
하지만 보통 안드로이드 스튜디오를 설치할 때, 같이 설치하는 SDK로 이미 설치되어 있는 경우가 많을 것이다.
이때는 언어(Python이나 Java)처럼 환경 변수 설정을 해줘야 한다.
보통 C:\Users\{Username}\AppData\Local\Android\Sdk\platform-tools 경로에 설치됐을 것이다.
환경 변수로 가서 Path에 위의 경로를 추가해주면 된다.
윈도우 11 기준으로 윈도우 10과 메뉴와 카테고리 위치들이 많이 바뀌었다.
제어판 > 사용자 계정 > 사용자 계정 > 환경 변수 변경으로 가면 쉽게 변수 설정을 바꿀 수 있다.
환경 변수에는 사용자 변수와 시스템 변수 두 가지가 있다.
사용자 변수는 말 그대로, 현재 로그인한 사용자 계정에만 적용할 환경 변수이고,
시스템 변수는 이 컴퓨터를 쓰는 모든 계정에 대해, 전체 시스템에 대해 적용할 환경 변수이다.
만일 본인 컴퓨터에 계정이 하나라면 어디에 추가하든 큰 상관이 없다.
Path를 찾아서 편집을 누른 뒤, 많은 Path 변수에 새로 만들기로 경로만 추가해주자.
안드로이드 스튜디오와 컴퓨터에서 워치와 연결할 준비를 마쳤으니, 이젠 워치에서 준비를 해야 한다.
위 설명은 갤럭시 워치 4를 기준으로 작성했으며 하위 버전은 정상적으로 동작한다.
220810에 발표한 갤럭시 워치 5는 아마 같은 방법으로 되리라 생각하지만, 해보지 않아 정확하지는 않다.
먼저 갤럭시 워치에서 개발자 옵션을 켜줘야 한다.
'설정 > 워치 정보 > 소프트웨어 정보'에 들어가면 소프트웨어 버전이 있다.
저 소프트웨어 버전을 계속해서 터치해주면 3번째 사진과 같이 개발자 모드를 켰다는 팝업이 뜬다.
그러고 설정 맨 아래로 내리면 개발자 옵션 메뉴가 새로 생긴다.
그후 개발자 옵션에 들어가서, 'ADB 디버깅'과 'Wi-Fi로 디버깅'을 켜준 다음, Wi-Fi에 연결한다.
주의할 점으로 갤럭시 워치는 기본적으로 핸드폰과 블루투스로 연동하여 사용한다.
이때는 갤럭시 워치가 Wi-Fi와 연결할 필요가 없다고 판단하여, 계속해서 연결이 끊긴다.
Wi-Fi에 연결하여 adb 디버깅을 하기 위해서는 블루투스를 잠시 꺼줘야 한다.
"워치에서 필요할 때에만 Wi-Fi를 사용합니다. 자세히 알아보기"라고 워치에 친절히 설명 있으니 참고하자.
└ Wi-Fi 연결할 때 작은 글씨로 뜬다. 가뜩이나 작은 화면에 작은 글씨라..
그리고 기다리면 'Wi-Fi로 디버깅' 부분에 주소가 뜰 것이다.
이를 안드로이드 스튜디오에 입력한다. IPv6 주소말고 IPv4 주소를 입력하면 된다.
adb connect 192.168.0.00:0000의 주소를 안드로이드 스튜디오 터미널에 입력하자.
그럼 connected to 192.168.0.00:0000이라고 뜨면서, 우상단의 디바이스가 정상적으로 워치로 바뀐다.
디바이스를 실행하면, 워치에 정상적으로 앱이 깔리면서 실행한다.
아무 것도 없는 기본 프로젝트를 실행하면 Hello round world!인가 하는 문구만 화면에 나올 것이다.
하지만 나는 만들어 둔 것이 있어서, 시작 화면이 뜨고 정상적으로 첫 화면으로 넘어간다.
과연 예전에 내가 짰던 코드들은 얼마나 엉망일까.
앞으로 천천히 열심히 수정해보자.