관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[안드로이드] 기기 하나로 다양한 해상도 UI 테스트 하기 (Feat. Android Debug Bridge, ADB, MAC, zsh: command not found: adb) 본문

안드로이드/코틀린 & 아키텍처 & Recent

[안드로이드] 기기 하나로 다양한 해상도 UI 테스트 하기 (Feat. Android Debug Bridge, ADB, MAC, zsh: command not found: adb)

막무가내막내 2021. 6. 24. 20:30
728x90

 

 

 

 

 

안녕하세요 ㅎㅎ 오랜만(?)의 포스팅 입니다. 요즘 바빠서 안드로이드 관련 포스팅을 거의 못하고 있네요.. ㅠ

 

(안물)

 

 

 

출처 : https://medium.com/@sashaserg/a-mysterious-density-independent-pixel-a-quick-introduction-to-android-design-111d68be7cf5

안드로이드는 스마트폰마다 다양한 해상도를 가지고 있고 너비와 높이도 매우 다양합니다. 이렇게 기기 파편화가 매우 심해서 해상도 대응도 하기 힘듭니다ㅠ  폴더블까지 나오고 있고요 (즉당히 해주십쇼 -_- )

 

이러한 안드로이드 다양한 해상도와 크기 대응때문에 DP라는 단위를 안드로이드에서는 주로 사용하고 있습니다. 해상도와 DP 등의 단위에 대해서는 다음 블로그를 참고하시면 좋을 것 같습니다. 저도 이번 기회에 해상도와 DP에 대해 어렴풋이 알고있다가 여러 블로그를 참고하면서 공부할 수 있었습니다. 

https://blog.cracker9.io/2018/03/13/Android_DPI/

 

초보 디자이너를 위한 안드로이드 DP(Dip), PX, DPI의 개념

안드로이드는 처음인데요안드로이드를 처음 접하게 되면 DP, PX, Dpi이란 말을 듣게된다. 안드로이드는 다양한 스마트폰 화면 크기와 해상도를 지원하고 있기 때문에 필요한 개념이다. 처음에는

blog.cracker9.io

 

업무 중 해상도 별로 테스트를 해야하는 일이 생겼는데 스마트폰은 테스트폰 하나만 있고 안드로이드 스튜디오에서 XML Design 레이아웃 기능(+ AVD)으로는 적은 종류의 해상도만 볼 수 있었기 때문에 실제폰과 XML Design을(AVD) 통한 테스트 말고 다른 방법으로 대응을 해야 했습니다. 

 

그래서 찾아본 결과 Firebase Test Lab 을 사용하는 방법과 adb(Android Debuf Bridge) 를 사용하는 방법이 있었습니다.  이 중 Firebase Test Lab은 제가 원하는 목적만으로 사용하기에 너무 크고 애초에 사용할 수도 없었으므로 adb로 하기로 결정했습니다.

 

Android 디버그 브리지(adb)란 기기와 통신할 수 있는 다목적 명령줄 도구입니다. adb 명령어는 앱의 설치 및 디버깅과 같은 다양한 기기 작업에 도움이 되며, 기기에서 다양한 명령어를 실행하는 데 사용할 수 있는 Unix 셸에 관한 액세스를 제공합니다. 이 도구는 다음과 같은 세 가지 구성요소를 포함하는 클라이언트-서버 프로그램입니다. 

자세한 설명과 명령어 종류들은 다음 공식문서에서 보실 수 있습니다. !  나중에 저도 자세히 공부해보고 싶네요.

https://developer.android.com/studio/command-line/adb?hl=ko 

 

Android 디버그 브리지(adb)  |  Android 개발자  |  Android Developers

기기와 통신할 수 있는 다목적 명령줄 도구인 Android 디버그 브리지를 알아보세요.

developer.android.com

 

 

 

 

그래서 아 이제 편하게 ADB 명령어를 통해 스마트폰 기기 조작하면서 테스트하면 되겠다하고 바로 실행해봤습니다.

 

그런데 말입니다.... ADB 명령어를 치자마자 다음과 같은 오류가 났습니다.

zsh : command not found : adb

그냥 해당 명령어 따윈 없다는 말이죠 ㅎㅅㅎ

 

 

처음 맥북 받았을떄 안드로이드 스튜디오 세팅되있는대로 그대로 받았는데 뭐가 잘못된건가 찾아봤는데 결론적으로는 ADB의 경로 및 환경변수 세팅 문제였고 여러가지 해결방법중에 저는 가장 안전하고 편리(?)한 방법을 택하게 되었습니다. 왜냐하면 경로 괜히 잘못건들였다가 회사 맥북이 날아가고 업무시간을 다 날릴지도 모르기 때문이죠.. 제가 택한 방법이 불편함이 큰것도 아니였고여ㅎㅎ

다음 블로거 분의 글을 참고하였고 이분의 방법중 하나를 택하게 되었습니다. 다른 방법이 궁금하신분들은 추가로 보시면 될 것 같습니다. 

https://life-with-coding.tistory.com/449

 

[Android] "zsh : command not found : adb" 오류 해결

인트로 안녕하세요. 오늘은 안드로이드 앱을 스마트폰을 통해 실행시킬 수 있는 ADB(android debug brige) 실행 오류를 해결해보도록 하겠습니다. ADB(android debug bridge) 는 USB/WIFI를 통해 안드로이드 앱을

life-with-coding.tistory.com

 

 

 

 

해결방법은 다음과 같습니다. 맥북 안드로이드 스튜디오 이미지도 첨부하고 싶지만 할수가 없는점 양해부탁드립니다. ㅎ

 

 

 

퍼온사진 : https://stackoverflow.com/questions/34532063/finding-android-sdk-on-mac-and-adding-to-path

1. 상단 탭에서 Android Studio - Preferences - System Settings - Android SDK 에서

Android SDK Location 경로를 복사합니다.

 

2. 복사한 경로 ex) /Users/ExDirectory/Library/Android/sdk//platform-tools를 붙여줘서

터미널에 cd /Users/ExDirectory/Library/Android/sdk/platform-tools 명령어를 통해 경로를 이동합니다.

 

3. 그럼 이제 ADB 명령어를 실행시킬 수 있습니다.!! 

그런데 일반적인 adb OOOO 명령어로는 실행이 안됩니다. 

./adb 로 명령어를 실행시켜야 합니다. ( ./  란 현재리눅스(우분투)에서 접근해 있는 현재경로를 나타냅니다. )

 

4. 스마트폰을 연결 후 해상도와 크기를 조작하는 방법을 정리했는데 다음과 같습니다.

[명령어 실행]
./adb

 

[기존 스마트폰의 기본 해상도 및 크기로 리셋]
./adb shell wm size reset
./adb shell wm density reset

 

[현재 해상도 및 크기]

명령어 : ./adb shell wm density 

결과예시 : Physical density 420
              Override density 640

 

명령어 : ./adb shell wm size 

결과예시 : 1440x2960

 

[해상도 및 크기 변경]

명령어 예시 : ./adb shell wm density 420 

                  ./adb shell wm size 320x480

참고 :  x 대신 * 로 할 경우 bad size 에러뜸

 

[테스트할때 참고하면 좋음]
https://developer.android.com/training/multiscreen/screensizes?hl=ko#TaskUseSWQuali

 

다양한 화면 크기 지원  |  Android 개발자  |  Android Developers

Android 기기는 다양한 모양과 크기로 제공되므로 앱의 레이아웃이 유연해야 합니다. 레이아웃은 특정 화면 크기와 가로세로 비율을 가정하는 고정 크기로 정의되지 않아야 하며 다양한 화면 크

developer.android.com

 

 


이렇게 여러 해상도와 크기에 대해 하나의 스마트폰으로 테스트를 무사히 마칠 수 있었습니다 :) 

해상도에 대한 개념을 다시한번 짚고 넘어가고 adb에 대해 배울 수 있는 경험이었습니다. (adb는 예전에 대학교에서 안드로이드 루팅?했을때 사용했던 기억이 있는데 맞나..)

 

 

 

 

이상 해상도 테스트를 하면서 겪은점에 대한 포스팅을 마치겠습니다. 

댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!

 

 

 

728x90
Comments