728x90
스크립트
#!/bin/bash
#adb kill-server
#sleep 1
#adb start-server
adb wait-for-device
cmd="adb -d shell am start -e debug true -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n com.thirdwhale/com.thirdwhale.activity.SplashActivity";
echo $cmd;
exec $cmd &
app_debug_port=$(adb jdwp | tail -1);
echo "app_debug_port: $app_debug_port";
cmd0="adb -d forward tcp:29882 jdwp:$app_debug_port";
echo $cmd0;
exec $cmd0 &
cmd1="jdb -J-Duser.home=. -connect com.sun.jdi.SocketAttach:hostname=localhost,port=29882 -sourcepath C:/workspaces/android/3rdWhale_import2/src/main/java";
cmd2="jdb -J-Duser.home=. -attach asantoso_xpl:29882";
echo $cmd1;
exec $cmd1;
jdb.ini 샘플:
stop in com.thirdwhale.activity.SplashActivity.onResume()stop in com.thirdwhale.activity.NewsActivity.onResume()stop in com.thirdwhale.activity.WhatsAround.onResume()
notes:
try killing standalone ddms and eclipse adt ddms
방법 2: 이클림스에서 디버깅 특징 사용하기 ( ADT 없이)
- 디버그 다이얼로그 실행.
- "원격자바 애플리케이션-Remote Java Application" 환경 생성.
- 소스 경로 설정 - source path
- 연결 유형 - Connection type: Socket attach
- host를 localhost로 설정.
- 자신의 특정 포워딩 포트 설정한다. (예: 29882)
- 디버깅 환경 저장.
- 중단점 생성.
- 프로젝트 컴파일 및 기기에 apk 설치.
- 이클립스 디버그 perspective 오픈.
- device shell로 가서, and ActivityManager(am) 를 “-e debug true” 옵션을 사용해서 파라메터와 함께 activity를 실행한다. (위 스크립트를 사용 하도 jdb 는 주석처리 한다)
- 이클립스에서 디버그 환경을 실행한다.(이클립스는 특정 포트 29982로 연결을 설정 할 것이다)
이상.
728x90
'모바일프로그래밍 > 안드로이드' 카테고리의 다른 글
자신만의 Sqlite 설치하고 개발하기 (0) | 2023.03.23 |
---|---|
디버깅 가능한 Android 애플리케이션 공격하기 (0) | 2023.03.07 |
커맨드 창과 에디터로 안드로이드 프로그래밍 해보기 - 3 (1) | 2023.03.05 |
커맨드 창과 에디터로 안드로이드 프로그래밍 해보기 - 2 (0) | 2023.03.04 |
커맨드 창과 에디터로 안드로이드 프로그래밍 해보기 (1) | 2023.03.02 |