adb -d 옵션으로 shell에 안 들어간 상태로 확인 가능 

귀찮게 들어갔다 나왔다 안 해도 되었다는 ㅠ_ㅠ



https://developer.android.com/studio/command-line/adb.html#commandsummary


셸 명령 실행


shell 명령을 사용하면 에뮬레이터/기기에서 adb 원격 셸에 들어가거나 들어가지 않고도 adb를 통해 기기 명령을 실행할 수 있습니다. 원격 셸에 들어가지 않고 단일 명령을 실행하려면, 다음과 같은 shell 명령을 사용합니다.


adb [-d|-e|-s serial_number] shell shell_command


-d 연결된 USB 기기로만 adb 명령을 전달합니다.

        둘 이상의 USB 기기가 연결된 경우 오류가 발생합니다.


-e 실행 중인 에뮬레이터 인스턴스로만 adb 명령을 전달합니다.

        둘 이상의 에뮬레이터 인스턴스가 실행 중인 경우 오류가 발생합니다.


-s serial_number adb 할당 일련 번호(예: "emulator-5556")로 참조되는 

                        특정 에뮬레이터/기기 인스턴스로 adb 명령을 전달합니다.



자세한건 http://developer.android.com/guide/developing/tools/adb.html#logcat
            http://mungi.kr/159


windows:

아래와 같이 하면 한글을 볼 수 있단다.

1. Win + R / cmd
2. cmd /u
3. chcp 65001
4. 콘솔창의 속성에서 폰트,를 Lucida Console 로 변경해준다.
5. adb logcat


mac:

터미널을 열고 별다른 작업없이 'adb logcat' 하면 한글이 깨지지 않고 나온다.


원하는 tag 의 로그만 보고 싶을 때..


adb logcat 보고자하는태그:태그우선순위 *:S


이런식으로 주면 보고자 하는 태그를 갖는 녀석만 출력된다.
마지막에 *:S는 나머지는 모두 Silent 조용히 시키는것임!

태그 우선순위는 Verbose / Debug / Info / Warning / Error / Fatal / Silent 순


adb logcat *:I


라고 명령어를 입력하면 Info 이상의 우선순위를 갖는 로그를 출력한다.


adb logcat tag1:I *:S


라고 명령어를 입력하면 tag 에 tag1 이라고 준 Info 에 해당하는 로그만 출력한다.

( Log.i( "tag1", ... ) 로 출력한 로그먄 보여진다는 얘기.. )



환경 변수에 미리 설정을 추가 해놓으면 할때마다 안 써도 된다.

export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"


time stamp 를 붙이려면

adb logcat -v time


 

도스에서 팁.

2>&1|tee build.log

1 은 standard (표준출력)
2 는 standard error (표준 에러)

그러므로 2>&1  표준 에러를 표준 출력으로 redirection

 build.log 앞에 > (redirection) 대신 | tee가 들어간 이유는  redirection으로 처리할경우 build.log가 표준출력 내용을 먹어버리기 때문에
화면출력과 파일 출력을 동시에 하기위해서 사용

 
비슷한 팁으로 실행 시 printf로그 없애는 방법

./app > /dev/null 2>&1 &

logcat 보면서 저장하기
adb logcat  -v time -b main -b radio -b events -b system 2>&1|tee 00_logcat.log

커널 메세지 보면서 저장하기
adb wait-for-device && adb shell cat /proc/kmsg 2>&1|tee 00_kmsg.log

'Japan > Work As Tester' 카테고리의 다른 글

자주쓰는 Secret code_Samsung  (0) 2016.04.17
ims-volte-sip  (0) 2016.03.19
로그 보면서 파일로 저장하기  (0) 2016.03.18
로그, 속성 관련  (0) 2016.03.18
adb shell 명령어  (0) 2016.03.18
VoLTE관련  (0) 2016.03.18

안드로이드 시스템 분석에 사용할만한 shell 명령을 알아보자.

시스템 기본 정보: 하드웨어, 커널 등

cat /proc/version : 커널 버전
cat /proc/cpuinfo : 프로세서 정보. CPU 타입, 모델, 제조사 등
cat /proc/meminfo : 메모리 정보. 실제 메모리 및 가상 메모리
cat /proc/devices : 현재 커널에 설정되어 있는 장치 목록
mount : 마운트된 모든 장치 정보
df : 하드디스크 사용량
cat /proc/filesystems : 커널에 설정되어 있는 파일시스템 목록
cat /proc/swaps : 스왑 파티션의 크기와 사용량
cat /proc/interrupts : 장치가 사용중인 인터럽트(IRQ) 목록 표시
cat /proc/ioports : 현재 사용중인 Input/Output 포트
cat /proc/loadavg : 시스템의 평균부하량
cat /proc/partitions : 파티션 정보
cat /proc/uptime : 시스템이 얼마나 살아있었는지.
cat /proc/stat : 시스템 상태에 관한 다양한 정보. CPU 사용통계, 부팅이후 page fault 발생횟수 등
cat /proc/zoneinfo : ZONEINFO ?
dmesg : 시스템 부팅시 나왔던 메시지
ps : 실행중인 프로세스 정보
ps -p -t : 프로세스와 쓰레드 목록
set 또는 printenv : 환경설정값 출력

시스템 리소스 사용 현황

vmstat : 시스템의 리소스 상황 모니터링. CPU, I/O, 메모리 등
cat /proc/diskstats : 디스크 utilization과 throuthput. 즉 디스크 IO 현황
top : 시스템의 프로세스 상황 모니터링. 프로세스별 CPU 사용량, 메모리와 스왑 사용량 등
procrank : 프로세스별 메모리(VSS,RSS,USS, PSS)
dumpsys meminfo [PID] : 해당 프로세스의 메모리 상세 정보
cat /proc/[PID]/stat : 해당 프로세스에 대한 정보. 시작시간, 상태, CPU 사용량 등
cat /proc/[PID]/maps : 해당 프로세스의 메모리 맵 정보
cat /proc/vmstat : 버추얼 메모리 통계?
librank : 라이브러리별 메모리 사용량?

네트워크 관련

cat /proc/net/netlink : 네트워크 정보
netcfg : 네트워크 인터페이스와 IP주소 목록
netstat : 네트워크 연결상태 확인
nc : 네트워크용 cat 명령어(netcat)
ifconfig : 네트워크 인터페이스 설정 정보. 장치명을 파라미터로 받음. IP 주소, 서브넷마스크 등
tcpdump : 실시간 패킷 모니터링
iftop : 네트워크를 위한 top
route : 해당 호스트까지 연결하는 중간 경로 정보인 라우팅 테이블 표시
ping : 원격 호스트와의 연결 테스트
cat /proc/net/route : Routes

안드로이드 제공

logcat : 로그캣 보기
pm : package manager의 약자. 패키지/permission/instrumentation/feature 목록, 패키지 설치/제거 등
am : activity manager의 약자. 액티비티 시작, Intent 브로드캐스팅, Instrumentation 시작, profiling 시작/중지 등
service : 안드로이드 서비스 목록 표시, 서비스에 명령 전달
monkey : 애플리케이션에 랜덤 이벤트 발생시킴. 사용자 이벤트, 시스템 이벤트의 무작위 발행
cat /data/anr/traces.txt : VM TRACES (쓰레드 덤프)
cat /proc/binder/proc/[PID] : 바인더 프로세스 상태
cat /proc/binder/xxx : 바인더 관련 정보(xxx는 transactions, transaction_log, failed_transaction_log, stats 등)
cat /data/system/packages.xml : 설치된 패키지 세팅 정보
setprop : system property 세팅
getprop : 세팅된 system property 목록 출력


종합 리포트
dumpsys [service]: app/service 상태정보 덤프. 서비스별로 추가 파라미터 받을 수 있음
dumpstate : device 상태정보 덤프(cpu,mem,ps 등). 상태정보를 추출하는 여러 명령어들의 조합으로 구성
dumpcrash : 애플리케이션이 crash될 때의 상태정보 덤프?
bugreport : logcat+dumpsys+dumpstate

그밖에...
그밖의 안드로이드 shell 명령어는 /system/bin 및 /system/xbin을 뒤져보면 많이 나온다. 이제 남은 일은 찾아낸 명령어의 사용법, 출력결과를 

어떻게 해석할지, 어떤 상황에서 이들을 활용할지 사례조사, 그리고 직접 활용해보는 것일게다.

출처 http://ecogeo.tistory.com/256

* 참조

http://www.cyworld.com/polox94ii/312644

http://tkhwang.pe.kr/archives/65

http://en.androidwiki.com/wiki/ADB_Shell_Command_Reference

http://elinux.org/Using_Bootchart_on_Android

http://elenoa.tistory.com/52

'Japan > Work As Tester' 카테고리의 다른 글

로그 보면서 파일로 저장하기  (0) 2016.03.18
로그, 속성 관련  (0) 2016.03.18
adb shell 명령어  (0) 2016.03.18
VoLTE관련  (0) 2016.03.18
디바이스와 adb 무선으로 사용하도록 세팅  (0) 2016.03.18
ADB 명령어(1)  (0) 2016.03.18

Wireless usage 무선으로 사용


Wi-Fi를 통해서 단말을 adb 접속시키는 방법

  1. Connect your Android device and adb host computer to a common Wi-Fi network accessible to both. We have found that not all access points are suitable; you may need to use an access point whose firewall is configured properly to support adb.

    Note: If you are attempting to connect to a Wear device, force it to connect to Wi-Fi by shutting off Bluetooth on the phone connected to it.

  2. Connect the device to the host computer with a USB cable. USB 케이블을 사용해서 디바이스와 컴퓨터 연결
  3. Set the target device to listen for a TCP/IP connection on port 5555. 타켓 디바이스를 포트 5555를 통해 TCP/IP 접속하도록 세팅

    $ adb tcpip 5555
    
  4. Disconnect the USB cable from the target device. USB 케이블 접속을 해제
  5. Find the IP address of the Android device. For example, on a Nexus device, you can find the IP address at Settings >About tablet (or About phone) > Status > IP address. Or, on an Android Wear device, you can find the IP address atSettings > Wi-Fi Settings > Advanced > IP address. 안드로드의 IP 주소 확인 방법
  6. Connect to the device, identifying it by IP address. 디바이스 IP 주소를 입력하여 디바이스 연결

    $ adb connect <device-ip-address>
    
  7. Confirm that your host computer is connected to the target device 타겟 디바이스가 연결되었는지 확인:

    $ adb devices
    List of devices attached
    <device-ip-address>:5555 device
    

You're now good to go!

If the adb connection is ever lost 만약 연결이 끊어진다면 :

  1. Make sure that your host is still connected to the same Wi-Fi network your Android device is. 디바이스와 호스트가 동일한 Wi-Fi 사용중인지 확인.
  2. Reconnect by executing the "adb connect" step again. "adb connect" 를 재 실시
  3. Or if that doesn't work, reset your adb host 위 내용 실시에도 연결아 안되는 경우 서버 종료 후 재실시:

    adb kill-server
    
    and then start over from the beginning.


http://developer.android.com/intl/ko/tools/help/adb.html


'Japan > Work As Tester' 카테고리의 다른 글

adb shell 명령어  (0) 2016.03.18
VoLTE관련  (0) 2016.03.18
디바이스와 adb 무선으로 사용하도록 세팅  (0) 2016.03.18
ADB 명령어(1)  (0) 2016.03.18
DDMS(Dalvik Debug Monitoring Service)  (0) 2016.03.18
DUT  (0) 2016.03.09

DDMS(Dalvik Debug Monitoring Service)

회사 보안상 PC에서 MPT 사용이 되지 않도록 되어있어서,

DDMS를 사용하여 휴대폰 저장소확인을 진행


사용하기 위해서는 ADB사용을 위해 환경 변수를 추가하였듯이, 

DDMS가 들어있는 폴더를 찾아서 환경변수 추가하여 

PC  재기동 &, 

단말 연결하여 인식시킨 후

명령창에 DDMS를 치면 사용 가능! 


'Japan > Work As Tester' 카테고리의 다른 글

디바이스와 adb 무선으로 사용하도록 세팅  (0) 2016.03.18
ADB 명령어(1)  (0) 2016.03.18
DDMS(Dalvik Debug Monitoring Service)  (0) 2016.03.18
DUT  (0) 2016.03.09
IMS/SIP - Message List  (0) 2016.03.09
VoLTE용어정리  (0) 2016.03.09

ADB코멘드를 사용하기 위해서

ADB코멘드를 사용하기 위해서는 Android SDK를 인스톨하여 설정할 필요가 있습니다. 
또한 Android SDK를 사용하기 위해서는 JDK(Java)를 인스톨할 필요가 있습니다. 

※SDK란, Software Development Kit의 줄임말로, 소프트웨어 개발에 필요한 것들이 들어있습니다. 

Android SDK에는 ADB, Bootloader, CWM에 사용하는 각종 드라이버가 포함되어있어, 인스톨하면 fastboot코멘드도 사용할 수 있게 됩니다. 

※PC의 관리자 권한이 아닌경우, 각 툴의 인스톨이 불가능할 수도 있습니다. 

 Java(JDK)のインストール

  1. Java SE - Downloads | Oracle Technology Network | Oracle」에서 「Java SE 8uX」(X는 버전 번호)의 란에있는「JDK DOWNLOAD」를 클릭

  2. Accept License Agreement」의 왼쪽이 있는 버튼을 클릭 하여 체크하고, 사용하고 있는 Windows의 버전에 맞는 것을 클릭하여, 다운로드. 
    (예:Windows 10 64bit판→jdk-8uXX-windows-x64.exe)
  3. 다운로드가 완료하면, 실행
  4. 「다음(N) >」을 클릭
  5. 인스톨할 경로는 필요한 경우, 변경 
    ※변경할 필요가 없는 경우 변경하지 않아도 괜찮음 
  6. 「소스・코드」의 좌측 아이콘을 클릭하여, 「해당 기능은, 사용 하지 않습니다. 」를 클릭하여 선택
  7. 동익하게 「퍼블릭 JRE」를 설정하여, 「개발 툴」이외에 인스톨하지 않도록한 후「다음(N) >」을 클릭함
  8. 인스톨이 완료될 때까지 기다림
  9. 닫음(C)」을 클릭

이상, Java(JDK)인스톨 완료! 

 Android SDK의 인스톨 및 설정

 Android SDK를 인스톨

  1. Download Android Studio and SDK Tools | Android Developers」에서, 하기에 있는「Other Download Options」의 「SDK Tools Only」에 있는 「Windows」란의 「installer_rXX.X.X-windows.exe」(X는 버전 번호)를 클릭하여 다운로드. 

  2. 확인 버전이 표시되므로, 「I have read and agree with the above terms and conditions」의 좌측을 클릭하여 체크한 후,「DOWNLOAD INSTALLER_RXX.X.X-WINDOWS.EXE」를 클릭하여 다운로드. 

  3. 다운로드 완료 후, 실시
  4. Next >」를 클릭
  5. Java(JDK)가 인스톨 되어있는 것을 확인하므로, 「Next >」를 클릭
  6. Install for anyone using this computer」의 왼쪽에 있는 버튼을 클릭한 후, 「Next >」를 클릭함 
  7. 필요한 경우 인스톨 경로를 변경, 필요없는 경우는 그대로「Next >」를 클릭
    ※그림에서는「D:\Program Files (x86)\Android\android-sdk」로 변경함
    ※이후 Path를 입력해야 하므로, 어디에 인스톨 했는지 경로를 기억해 두거나 복사해서 기록해 놓을 것 

  8. 시작 메뉴에 등록 여부를 확인하므로 확인 후「Install」을 클릭함

  9. 인스톨이 완료할때까지 기다림 

  10. 완료한 것을 확인한 후, 「Next >」를 클릭
  11. Finish」를 클릭
  12. 자동으로 「Android SDK Manager」가 기동됨 
  13. Android SDK Platform-tools」의 좌측 체크 버튼을 클릭 후 체크
  14. 가장 하단으로 스크롤 하여, 「Google USB Driver」의 좌측 버튼을 클릭하여 체크
  15. 그 외의 항목 전부(예:Android SDK Build-tools 등)의 체크를 해제하고,「Android SDK Platform-tools」와 「Google USB Driver」만 체크한 상태로 함
  16. Install 2 package...」가 표시되는 것을 확인한 후, 해당 버튼을 클릭
  17. Accept License」의 좌측 버튼을 클릭하여, 각 항목의 좌측에 초록색의 체크가 표시되는 것을 확인한 후, 「Install」을 클릭함 
  18. 인스톨이 완료될때까지 기다림 
  19. 「Done loading packages.」가 표시되는 것을 확인한 후, 「Close」를 클릭
    ※에러가 발생하는 경우는 다시한번 실행함 
  20. 닫음 버튼을 클릭한 후, 「Android SDK Manager」를 종료함
이상, Android SDK의 인스톨 방법임

 Android SDK의 설정

ADB코멘드는 Android SDK를 인스톨한 것만으로는 사용하는 것이 불가능합니다. 환경번수의 Path를 편집하여,「Path를 통과」시키는 작업이 필요합니다. 

해당 작업을 함으로써, 명령창에서 ADB 코맨드를 사용하는 것이 가능하게 됩니다. 

환경변수의 편집은 시스템의 동작에 영향을 줍니다! 틀리지 않도록 주의해 주세요!
  1. 데스크 탑 왼쪽 하단의 「스타트」버튼을 클릭하여, 「시스템」을 클릭

  2. 시스템의 상세설정」을 클릭

  3. 환경변수(N)...」를 클릭

  4. 「환경변수」화면이 표시되므로, 「시스템 환경변수(S)」란을 하단으로 스크롤하여, 변수「Path」를 클릭하여 선택한 후, 「편집(I)...」을 클릭

  5. 「환경변수명의 편집」화면이 표시되므로, 「신규(N)」를 클릭 함

  6. 입력란에 「Android SDK의 인스톨」방법의 7에서 결정한 「인스톨 장소」에「\platform-tools」을 추가함 Path명을 입력하여「Enter」키를 누름
    예:「D:\Program Files (x86)\Android\android-sdk」에 인스톨한 경우, 「D:\Program Files (x86)\Android\android-sdk\platform-tools」라 입력

  7. Path명이 정확히 입력된 것을 확인한 후, 「OK」를 클릭

  8. OK」를 클릭
  9. OK」를 클릭
  10. PC를 재기동한 후, 명령창을 염 

  11. adb」라고 입력 후, 「Enter」키를 누름 

  12. 하기의 그림과 같이 내용이 표시되어 adb코멘드가 동작하고 있는 것을 확인
이상, Android SDK의 설정방법임 

 참고:Windows 7에서의 Android SDK의 설정 

작업 내용 자체는 동일하나, Windows 7에서는 환경변수의 변경방법이 약간 다릅니다. 
  1. 데크스탑의 왼쪽 하단의 「스타트」버튼을 클릭한 후, 「컴퓨터」위에 포인트를 맞춘 후, 마우스 「오른쪽 클릭

  2. 속성」를 클릭

  3. 시스템 상세설정」을 클릭

  4. 「시스템 설정」화면이 표시되므로 「상세설정」탭을 클릭

  5. 환경변수(N)...」를 클릭

  6. 「환경변수」화면이 표시되므로 「시스템 환경변수(S)」란을 하단으로 스크롤한 하여, 변수「Path」를 클릭하여 「편집(I)...」을 클릭함

  7. 「시스템 변수의 편집」화면이 표시되므로, 「변수 값(V):」란의 가장 끝쪽(오른쪽)에,  Android SDK의 인스톨 방법의 7에서 결정한 「인스톨 장소+\platform-tools;」를 추가 기입
    예:「D:\Program Files (x86)\Android\android-sdk」에 인스톨→「D:\Program Files (x86)\Android\android-sdk\platform-tools;」를 추가※원래 적혀있는 경로는 환경에 따라 다릅니다. 절대로 덮어쓰기하지 않도록 주의해 주세요!
    ※각 Path의 마지막에는 반드시「;」를 붙여주어야 합니다. 추가기입 전, (원래 기입되어 있던 경로들)의 마지막 부분에 「;」가 없는 경우는 「;」를 기입한 후에 Path를 입력해 주세요. 

  8. 추가기입을 완료된 후, 「OK」를 클릭

  9. OK」를 클릭
  10. OK」를 클릭
  11. PC를 재기동한 후, 명령창을 염

  12. adb」를 입력한 후, 「Enter」키를 누름 
  13. 하기의 화면과 같은 내용이 표시되는 것을 확인 

이상, Windows 7에서 Android SDK의 설정 방법입니다. 

 드라이버의 인스톨 

실제로 코멘드를 사용하기 위해서는, 드라이버를 인스톨 하여 단말을 PC에 접속 시킬 필요가 있습니다. 


출처 http://andmem.blogspot.jp/2014/04/installjdkandroidsdkadb.html

'Japan > Work As Tester' 카테고리의 다른 글

SRVCC의 종류  (0) 2016.03.09
SRVCC  (0) 2016.03.09
[설정]ADB 코멘드 사용 설정  (0) 2016.03.05
EVS란  (2) 2016.02.26
3GPP_Network 참고 사이트  (0) 2016.02.26
3GPP  (0) 2016.02.26

+ Recent posts