bom-bakbang.log
로그인
bom-bakbang.log
로그인
[AndroidRoadMap] Android 디버깅
봄박뱅
·
2024년 1월 29일
팔로우
0
0
참고자료:
https://tv.naver.com/v/15354345?playlistNo=629240
에뮬레이터 기능
PC에서 클립보드 복사하여 복붙가능: 초기 에뮬엔 한글 없는데 한글 복붙하기 편함
지도 위치 정보 기반 시뮬레이팅 가능: KML 기반 좌표 추적을 설명하시는데 KML이 뭔지는 추가확인 필요
여러 디바이스 dpi별 동시확인 가능: 폴더블 포함. 접히고 펴지는것도 확인가능
에뮬 카메라를 웹캠으로 연결가능: 초기 생성시만 설정에서 세팅가능
스냅샷 가능: 앱 DB 마이그레이션 테스트시 용이. 앱의 업데이트 버전 전후로 의도대로 안되면 복구 등
스크린 레코딩: 부드럽게 잘 됨
전화: 잘 됨
녹음: Virtual sensor 활성화 해야 됨
Virtual sensor: 기기 돌리며 테스트
x86, x64 실기기 구하기 어려운데 테스트로 활용가능
테스트폰 개발자 옵션
USB Debugging: ON
당연한거. QR코드 통한 무선연결 디버깅도 가능.
Stay Awake: ON
충전 연결되어 있으면 안 꺼짐
Enable view attribute inspection: ON
- Debugging 시 Layout Inspector에 특정 속성이 숨겨지고 아니고가 달라질 수 있음
Show taps: ON
터치 위치 확인가능
Strict mode enabled: ON
메인쓰레드에서 과도한 작업하면 빨간색으로 번쩍거림
Always show crash dialog: ON
문제가 발생하면 알아차려야 하니 켜두기
같은 이유로 background ANR, notification channel 모두 ON
성능체크
LeakCanary
Activity 생명주기 기반. 디버그시에만 추가되니 유용하나 부족한 부분이 존재하긴함
Memory Profiler in AS
Heap Dump > Activity/Fragment Leaks 체크해서 확인
그 외 Systrace, Lint 추가 탐구해두면 좋음
Thread Dump: 프로세스 안에서 ANR 분석해나갈때 도움될 수 있음
Fill RAM memory 앱: LowMemory 상태에서 어떻게 동작하는지 강제로 만들어서 테스트 가능
Fill Device Disk 앱: 스토리지 부족 상태에서 어떻게 동작하는지 강제로 만들어서 테스트 가능
Framework 이해
SystemService에 연결된 것들이 어떻게 동작하는지 탐구 필요(ex:
Context.getSystemService()
SystemService는 주로 SystemServer 프로세스에 포함되어 있음
Application의 경우에는 XXX Manager, SystemSevice의 경우에는 XXX Manager Service형태로 네이밍 되어있음
둘은 또 각각 Proxy / Stub 이라는 이름으로 AIDL(Android Interface Definition Language)를 통해 Binder IPC 통신을 함 = 일종의 전처리 코드
프레임워크 소스:
https://android.googlesource.com/platform/frameworks/base
dumpsys 명령어를 통해 서비스 상태를 확인할 수 있는 이유: Service 클래스들이 기본적으로 dump 메소드를 충실히 구현하고 있기 때문
안드로이드 특정 버전들에 문제있는지 확인하는곳:
https://source.android.com/setup/contribute/report-bugs
다른앱 분석
Dexplorer 앱: Manifest 파일들 바로 확인
Apk Extractor 앱: 디바이스에 설치된 APK 파일을 외부저장소에 복사해줌
Apk Analyser(in AS): 바로 APK 올려서 확인 클래스들 분석 가능
디컴파일:
APK Tool
,
Dex2Jar
,
JD-GUI
Network Connections 앱: 앱별로 연결된 네트워크 물리적 위치/권한 등 확인
Developer Assistant 앱: 현재 화면에 보여지는 앱의 레이아웃 확인. 화면구조/속성/ResId/속한 액티비티. 유료.
Native Libs Monitor 앱: 네이티브 개발시
봄박뱅
Best Ongoing Man, BOM. 최선의 자세로 살아 가고자 합니다. 모두의 마음에 봄의 씨앗이 자라길
팔로우
이전 포스트
[Android RoadMap] 안드로이드 스튜디오 기능 살펴보기
다음 포스트
[AndroidRoadMap] Parcelable/Bundle은 무엇인가?
0개의 댓글
댓글 작성