일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 안드로이드 Sunflower 스터디
- 안드로이드
- 주택가 잠실새내
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 안드로이드 에러 해결
- 주엽역 생활맥주
- 2022년 6월 일상
- 막내의막무가내 플러터
- 막내의 막무가내 알고리즘
- 막내의막무가내 목표 및 회고
- 프로그래머스 알고리즘
- 프래그먼트
- flutter network call
- 막무가내
- 막내의막무가내 안드로이드 코틀린
- 안드로이드 sunflower
- 막내의막무가내 rxjava
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 SQL
- 막내의막무가내 안드로이드
- 막내의막무가내 프로그래밍
- 막내의막무가내 알고리즘
- 부스트코스에이스
- 막내의막무가내 일상
- 부스트코스
- 막내의막무가내 플러터 flutter
- 막내의막무가내 코틀린
- 막내의막무가내
- 막내의 막무가내
- Fragment
- Today
- Total
막내의 막무가내 프로그래밍 & 일상
[안드로이드] 기기 하나로 다양한 해상도 UI 테스트 하기 (Feat. Android Debug Bridge, ADB, MAC, zsh: command not found: adb) 본문
[안드로이드] 기기 하나로 다양한 해상도 UI 테스트 하기 (Feat. Android Debug Bridge, ADB, MAC, zsh: command not found: adb)
막무가내막내 2021. 6. 24. 20:30
안녕하세요 ㅎㅎ 오랜만(?)의 포스팅 입니다. 요즘 바빠서 안드로이드 관련 포스팅을 거의 못하고 있네요.. ㅠ
(안물)
안드로이드는 스마트폰마다 다양한 해상도를 가지고 있고 너비와 높이도 매우 다양합니다. 이렇게 기기 파편화가 매우 심해서 해상도 대응도 하기 힘듭니다ㅠ 폴더블까지 나오고 있고요 (즉당히 해주십쇼 -_- )
이러한 안드로이드 다양한 해상도와 크기 대응때문에 DP라는 단위를 안드로이드에서는 주로 사용하고 있습니다. 해상도와 DP 등의 단위에 대해서는 다음 블로그를 참고하시면 좋을 것 같습니다. 저도 이번 기회에 해상도와 DP에 대해 어렴풋이 알고있다가 여러 블로그를 참고하면서 공부할 수 있었습니다.
https://blog.cracker9.io/2018/03/13/Android_DPI/
업무 중 해상도 별로 테스트를 해야하는 일이 생겼는데 스마트폰은 테스트폰 하나만 있고 안드로이드 스튜디오에서 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
그래서 아 이제 편하게 ADB 명령어를 통해 스마트폰 기기 조작하면서 테스트하면 되겠다하고 바로 실행해봤습니다.
그런데 말입니다.... ADB 명령어를 치자마자 다음과 같은 오류가 났습니다.
zsh : command not found : adb
그냥 해당 명령어 따윈 없다는 말이죠 ㅎㅅㅎ
처음 맥북 받았을떄 안드로이드 스튜디오 세팅되있는대로 그대로 받았는데 뭐가 잘못된건가 찾아봤는데 결론적으로는 ADB의 경로 및 환경변수 세팅 문제였고 여러가지 해결방법중에 저는 가장 안전하고 편리(?)한 방법을 택하게 되었습니다. 왜냐하면 경로 괜히 잘못건들였다가 회사 맥북이 날아가고 업무시간을 다 날릴지도 모르기 때문이죠.. 제가 택한 방법이 불편함이 큰것도 아니였고여ㅎㅎ
다음 블로거 분의 글을 참고하였고 이분의 방법중 하나를 택하게 되었습니다. 다른 방법이 궁금하신분들은 추가로 보시면 될 것 같습니다.
https://life-with-coding.tistory.com/449
해결방법은 다음과 같습니다. 맥북 안드로이드 스튜디오 이미지도 첨부하고 싶지만 할수가 없는점 양해부탁드립니다. ㅎ
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
이렇게 여러 해상도와 크기에 대해 하나의 스마트폰으로 테스트를 무사히 마칠 수 있었습니다 :)
해상도에 대한 개념을 다시한번 짚고 넘어가고 adb에 대해 배울 수 있는 경험이었습니다. (adb는 예전에 대학교에서 안드로이드 루팅?했을때 사용했던 기억이 있는데 맞나..)
이상 해상도 테스트를 하면서 겪은점에 대한 포스팅을 마치겠습니다.
댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!
'안드로이드 > 코틀린 & 아키텍처 & Recent' 카테고리의 다른 글
[안드로이드] Deep Link Tester (딥링크 테스트) 어플 출시 (2) | 2021.08.26 |
---|---|
[안드로이드] 코틀린 범위지정함수(Scoping Functions) - let, run, with, apply, also - (2) | 2021.06.28 |
[안드로이드] build.gradle 베이스 기록 (4) | 2021.06.03 |
[안드로이드] Android Hilt 적용해본 코드 기록!! (2) | 2021.05.24 |
[안드로이드] 구글 공식 프로젝트 Sunflower 스터디 (9-마지막) Unit Test (언젠가 작성예정... 할게많) (0) | 2021.05.10 |