공부/리눅스 관련

우분투 18에서 안드로이드 adb

inSaPPoRo 2018. 12. 21. 14:52

저는 샤오미 홍미 노트 5를 사용하고 있습니다.
글로벌 롬을 사용하고 있는데 조금 느려진것 같아서 EU롬으로 바꿔 보려고 TWRP를 들어 가려고 하니 없어(?)졌네요 
이게 없어진건지 어떻게 된 것인지 저번에 롬을 바꿀때 no-verity-opt-encrypt 설치가 잘 못된것인지? 정확히는 모르겠습니다.

TWRP를 설치 하라려고 했으나 자주 가는 카페에는 대부분 윈도우 환경 설명만 보여서 (찾아보면 있겠지만요)ㅠㅠ
제가 사용하는 우분투에서 설치 하고 싶어서 조사했습니다. (제가 순서를 잊을것 같아서 기록한 것입니다.)

sdk-tools-linux 다운로드
https://developer.android.com/studio/?hl=ko#command-tools

sdk-tools-linux-4333796.zip(파일명은 다를수 있음)
unzip sdk-tools-linux-4333796.zip  해주면 tools 라는 폴더가 생성됩니다.

저는 유저 폴더에 Android폴더를 만들고 거기에 tools를 옴겼습니다.
mkdir ~/Android 
mv tools/ ~/Android        // 압축 풀어놓은 tools를 Android폴더 아래로 이동 

cd ~/Android/tools
./android
뭐라고 나오는데 영어라 정확히는 이해 하지 못했지만 "tools/bin/sdkmanager and tools/bin/avdmanager" 이 두개를 이용해 달라는것 같네요

cd ~/Android/tools/bin
./sdkmanager
에러가 납니다. ㅠㅠ
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
조사 결과 java 버전이 문제 인것 같습니다. SDK 가 최신 버전 JAVA 버전 9, 10이랑 호환이 안되서 발생하는 오류라고 합니다.
참조 https://code.i-harness.com/ko-kr/q/2cf754a

export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
위 명령으로 에러 없이 되긴 합니다.

저는 .zshrc에 추가해 놓았습니다.

.zshrc를 수정하는 김에 ./sdkmanager => sdkmanager (./) 없이 어디서나 사용가능하게 
export PATH="$HOME/Android/tools/bin:$PATH" 
를 추가했습니다. (source ~/.zshrc 잊지마세요)

sdkmanager --help        //사용법은 확인 가능합니다.

sdkmanager --list        //설치 가능한 것들이 보입니다.

제가 필요한 platform-tools 를 설치합니다. 영어가 약해서 삽질을 ㅠㅠ
참고 https://developer.android.com/studio/command-line/sdkmanager#install_packages

sdkmanager "platform-tools"        // platform-tools설치를 해줍니다.

cd ~/Android/platform-tools        // 저는 platform-tools폴더가 생성 되었습니다.
폴더 안에는 adb, fastboot 등이 있습니다.
export PATH="$HOME/Android/platform-tools:$PATH"    // .zshrc에 추가해주었습니다.

홍미노트5를 우분투에 연결하고 개발자 옵션에서 USB디버깅을 활성화 해주세요
adb devices        // 디바이스 하나가 잡힙니다.
디바이스 번호가 잡히는데 no permissions 라고 나오면
sudo ./adb kill-server        // adb 가 있는 폴더 저같은 경우는 ~/Android/platform-tools
sudo ./adb start-server

이렇게 해주면 별 문제 없이 사용 가능합니다.






반응형