监控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工程终于搞定了,`日`

 

用ADB(Android Debug Bridge)实时监测Android程序的运行的更多相关文章

  1. Android Debug Bridge命令介绍[转]

    Android Debug Bridge命令介绍 Android Debug Bridge的一些基本命令.这个工具直译过来就是Android调试桥的意思.它提供了强大的特性,例如复制文件到设备或从设备 ...

  2. [ADB]ADB(Android Debug Bridge)简介及基础(不包含命令)

    "Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an ...

  3. adb ( Android Debug Bridge)

    adb ( Android Debug Bridge) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用. adb工具的工 ...

  4. adb(android debug bridge)命令

    adb(android debug bridge) adb devices --查看当前连接的模拟器/设备 adb remount --模拟器/设备重新启动,保证能用 adb push src des ...

  5. adb(Android Debug Bridge)(一)

    上一篇介绍的am,pm命令都是基于adb shell下的命令.这节来详细介绍下adb命令. Android Debug Bridge(adb)是一个让你跟模拟器或者android设备通信的多功能命令. ...

  6. [ADB Shell]Android Debug Bridge常用命令

    ADB用法 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important ...

  7. Android Debug Bridge

    Android Debug Bridge Introduction     Android Debug Bridge (adb) is a versatile command line tool th ...

  8. adb(Android Debug Bridge)安装使用教程

    一.说明 adb的db是debug bridge而不是和gdb一样指debug,这意思是说adb不能像gdb那样能一步步调试代码,但可以启到一些类似调试的功能. 下面就针对这些功能进行介绍,本文根据官 ...

  9. Android 官方命令深入分析之Android Debug Bridge(adb)

    作者:宋志辉 Android Debug Brideg(adb)是一个多用途的命令行工具.可以与Android虚拟机进行通信或连接真机.它同样提供了访问设备shell的高级命令行操作的权限.它是一个包 ...

随机推荐

  1. jQuery学习-事件之绑定事件(一)

    我们都知道jQuery的事件其思想来源于Dean Edwards的addEvent,通过源码我们知道jQuery在为元素绑定事件时,每种类型的事件(click,blur)时只绑定了一次对应类型的事件处 ...

  2. select函数详解及应用

    Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect. accept.recv或recvfrom这样的阻塞程序 ...

  3. 关于IE的兼容模式

    前言 为了帮助确保你的网页在所有未来的IE版本都有一致的外观,IE8引入了文件兼容性.在IE6中引入一个增设的兼容性模式,文件兼容性使你能够在IE呈现你的网页时选择特定编译模式. 新的IE为了确保网页 ...

  4. poj3429(有错)

    不知道为什么错.. /************************************************************************* > File Name: ...

  5. ostream类的公有成员函数

    1 flush 2 operator<< 3 put 4 seekp 5 tellp 6 write 1 flush 刷新输出流 2 operator<< 插入运算符 3 pu ...

  6. Matlab定义子函数

    上篇博客介绍了在Matlab中自己定义简单函数的方法,本篇博客将介绍定义子函数的方法.本文承接上篇博客的样例,即随机生成一个3行4列的矩阵,矩阵中的元素设定上下限为(low,high).并返回矩阵全部 ...

  7. memcached在注册表的位置

    HKEY_LOCAL_MACHINE-System-ControlSet001-services-Memcached Server

  8. mvc中HttpPost理解

    public ActionResult Delete(int id) { Book book = db.Book.Find(id); if (book == null) { //重定向到行动(跳转到i ...

  9. Oracle的完整练习,纯手工打字,可能有一两点错误。。。

    PS:所有的表来源于Oracle自带的SCOTT用户下的表,初学者应该都知道的.emp表的SMITH被我删除了没有rollback,所以可能结果有点小出入. 1.选择部门30中的所有员工: SELEC ...

  10. -bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory

    刚刚学习SHELL 写了一个简单的例子发生如下错误 -bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory ...