Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android常用調試命令、工具匯總 (一)命令篇

Android常用調試命令、工具匯總 (一)命令篇

編輯:關於Android編程

一、命令篇

內存查看:

使用場景:跟蹤進程內存使用情況,看是否存在內存回收不了的問題,如果程序存在內存洩露問題,通過內存動態占用情況可以看出一些端倪。

2 查看系統dalvik給每一個進程分配的可用內存情況:

root@android:/ # getprop

[dalvik.vm.heapgrowthlimit]: [192m] :進程最大可分配到192m 如果哪個進程超過這個值就會發生OOM問題。

[dalvik.vm.heapmaxfree]: [8m]

[dalvik.vm.heapminfree]: [2m]

[dalvik.vm.heapsize]: [256m] :單個虛擬機可分配的最大內存=256m

[dalvik.vm.heapstartsize]: [8m]

2 查應用進程占用內存分布:

root@android:/ # dumpsys meminfo

2 查指定進程占用內存情況,比如電話進程

root@android:/ # dumpsys meminfo | grep phone

2 查指定幾個進程占用內存情況,比如電話進程、電話本進程、信息進程

root@android:/ # dumpsys meminfo | grep -E "phone|mms|contacts"

內存洩露分析:

http://blog.csdn.net/rambomatrix/article/details/17485503

AM調試:

2 模擬發送廣播:通過命令行執行adb shell am broadcast發送廣播通。這個在調試的時候常用到。

adb shell am broadcast 後面的參數有:
[-a ]
[-d ]
[-t ]
[-c [-c ] ...]
[-e|--es ...]
[--ez ...]
[-e|--ei ...]
[-n ]
[-f ] []

例如:adb shell am broadcast -a com.android.test --es test_string "this is test string" --ei test_int 100 --ez test_boolean true說明:藍色為key,紅色為alue,分別為String類型,int類型,boolean類型

2 Android AM命令行啟動程序的方法

附上鏈接,感覺不是很常用到。

http://blog.csdn.net/sunrock/article/details/5675067

ADB命令調試

Debug 版本機器:

adb remount 重新掛載文件系統

adb pull .../Phone.apk g:/ 把Phone.apk從手機中取出來放到G盤。如果需要反編譯別人機器的apk,可以這樣取出來。

adb push .../Phone.apk system/app 把修改後的Phone.apk放入手機,放入以後需要讓phone進程重啟一次。

root@android:/ ps | grep phone 查找phone進程的pid

root@android:/ kill 1212 殺掉phone進程

USER版本機器:

使用 刷機精靈 ROOT,root成功率很高。

adb shell 進入shell

Su 獲取Root權限

root@android:/# chmod -R 777 system/ 給指定目錄賦予讀寫權限,然後可以更改這個目錄 裡面的文件。

抓取LOG

2 Adb logcat

Android日志系統為日志消息保持了多個循環緩沖區,而且不是所有的消息都被發送到默認緩沖區,要想查看這些附加的緩沖區,可以使用-b 選項,以下是可以指定的緩沖區:

radio — 查看包含在無線/電話相關的緩沖區消息

events — 查看事件相關的消息

main — 查看主緩沖區(默認緩沖區)

常用的打印方法有:

-v time 打印時間

-c 清理緩沖,在打印Log之前可以先執行一次清理,可以減少無效log。

-s LOG_TAG 打印指定的log tag對應的log

-f 文件名 將日志輸出到文件

CPU /THREAD查看

查看當前應用有多少個線程在跑,每個線程cpu使用情況如何。如果程序寫的有問題,開啟了一些線程在後台跑卻從未釋放,可能給程序帶來嚴重的影響。

root@android:/ # top -t


可以看到電子郵件這個應用裡面所有的線程使用cpu的情況。這個數據在分析一些cpu使用高的問題時很好用。



歡迎大家補充。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved