監控Android設備上程序的運行,需要ADB的配合,具體ADB工具的介紹以及命令選項可見博客:
http://blog.csdn.net/mliubing2532/article/details/7579146,關於SDK可以google~
有了ADB其實還不夠,我們知道
Android系統中自帶的命令很少,其實不夠用,連find,grep,less都沒有(我的Android手機里面就沒有)。可以為其安裝busybox,來為其添加更多可用的command tools.
如果需要從busybox源碼開始的話,需要設置交叉編譯鏈接器(Cross Compiler),然后從源碼得到ARM下的ELF文件,具體參考博文:
http://blog.csdn.net/liaoshengjiong/article/details/3957725
不過既然busybox官網上已經有ARM下的二進制文件了,那就直接copy啦。
進入
http://www.busybox.net/downloads/binaries/,可以看到好幾個版本,這里我下載了一個不舊不新的版本(1.20.0/b
usybox-armv6l)
這里需要使用Android SDK提供的adb(Android Debug Bridge)將文件發送到Android設備上.
首先進入到Android Shell中,在/data文件夾下創建busybox文件夾
1. cmd>
adb shell
2.
shell@android: /$
mkdir busybox (如果不行就先su root,再創建)
在cmd下運行以下命令(我的busybox-armv6l在F盤下)
3.cmd>
adb push f:/busybox-armv6l /data/busybox
為busybox-armv6l改名為busybox(只是看着順眼),並且添加可執行權限
4.shell@android:/data/busybox$
mv busybox-armv6l busybox
5.
shell@android:/data/busybox$
chmod 766 busybox
你可以把busybox添加到PATH路徑中,這里直接在busybox目錄下測試了
現在我們就可以通過ADB SHELL來實時監測Android設備上程序的運行情況了,CPU使用率,內存占用情況等
比如我要監測我手機上QQ的運行情況,這里我的QQ應用程序對應的是app_75,
使用如下命令來實時監測:
shell@android:/data/busybox$
top | ./busybox grep app_75
輸出的結果如下圖所示,最后我退出了QQ,可以看到最后的內存占用情況都變成0了~~
還有:
用NDK打包Android工程終於搞定了,`日`
