각종 쉘명령어 : http://dryang.egloos.com/viewer/4013509
메소드별 프로파일링 도구 . ADT에 통합되어 있음
GC, FinalizerDdaemon 스데드를 눈여겨 볼것. 이 스레드가 시간을 많이 먹는다면 불필요한 객체가 많다는 신호일수도 있다.
jdwp가 오픈되어 있는 프로세스에만 사용가능. 즉 AndroidManifest.xml의 debuggable이 true일때만.
AOSP를 eng모드나 userdebug모드로 빌드하면 모든 프로세스와 소스코드가 없는 애플리케이션까지 확인 가능함.
http://developer.android.com/reference/android/os/Debug.html : Debug.startMethodTracing(). Debug.stopMethodTracing()
View의 계층구조와 속성을 최적화
ADT에 통합제공. 에뮬레이터나 underdebug, eng타입으로 빌드된 시스템 이미지에서만 실행 가능.
adb shell dumpsys
adb shell dumpsys meminfo
adb shell dumpsys activity -h
adb shell dumpsys activity <package_name>
frameworks/native/cmds/dumpsys/dumpsys.cpp 참조
Activity Manager 관련 동작을 CommandLine에서 수행. 숨겨진 activity도 수행가능
adb shell am start com.android.vending
adb shell am start -n com.android.settings/.UssageStats
http://software.intel.com/en-us/articles/installing-the-intel-atom-tm-android-x86-emulator-image-add-on-from-the-android-sdk-manager/http://developer.android.com/guide/developing/devices/emulator.html#accel-vm[http://developer.android.com/guide/developing/devices/emulator.html#accel-vm] http://android-developers.blogspot.com/2012/04/faster-emulator-with-better-hardware.html
android list avd
adb shell
/adb shell dumpsys activity
adb : 설치. adb install
adb devices
서명
용량부족할때
emulator.exe -avd test2 -partition-size 204
7 -no-snapshot-load
Monkey runner
Android monkey test 를 돌리면서 해당 로그를 파일로도, 콘솔 화면으로도 동시에 출력 시키려면???
adb shell monkey -p com.your.packagename --throttle 500 -v 1000 --monitor-native-crashes | tee logfile.txt
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
device = MonkeyRunner.waitForConnection() device.shell("log -t TEST This is line")
screen = device.takeSnapshot() screen.writeToFile('shot1.png','png')
adb logcat -c : 로그 삭제 adb logcat -v threadtime
adb logcat -s dalvikvm:d
안드로이드 난독화 도구 비교 http://krnet.or.kr/board/include/download.php?no=1749&db=dprogram&fileno=3 : 숭실대 이정현교수의 발표자료
로깅제거 -assumenosideeffects class android.util.Log { public static * i(…); public static * d(…); public static * v(…); }