如何批量执行多条命令呢
写一个.bat文件,文件内容如下:
- adb shell “su -c ‘rm -r -f /system/bin/testa’”
- adb shell “su -c ‘rm -r -f /system/xbin/testb’”
- pause
复制代码
保存为bat文件,直接点击执行.(windows系统下)。
(pause表示不关闭cmd窗口,这样就可以看到执行的结果了) 查看进程加载的库
可以根据进程id,查看进程加载了哪些库,cat /proc/pid/maps kill 干掉进程
- ps
- USER PID PPID VSIZE RSS WCHAN PC NAME
- u0_a145 10608 134 292960 26816 ffffffff 4019ca70 S com.ex.thre
- u0_a146 10755 134 302420 32152 ffffffff 4019ca70 S com.ex.two
复制代码
使用kill -s 9 134,就可以干掉 PID =134. PID =10608. PID =10755三个进程 查看内存信息
看手机内存信息cat /proc/meminfo
查看应用的内存信息 dumpsys meminfo 应用包名 查看应用是否安装
查看应用的安装路径 pm path 应用包名
获取手机上已经安装的所有的程序 pm list packages 过滤grep 和findstr
引用块内容 在windows上直接使用findstr来过滤你想要的信息 - adb shell ps|findstr baidu
复制代码
这个命令找出手机上正在运行并且这个名字包含baidu的进程 //下面的写法也对
- adb shell ps baidu
- adb shell ps|findstr -i baidu
复制代码
引用块内容
对应的android或者linux中的shell命令是grep
引用块内容 提示 :有的手机上没有grep命令,这时候可以采用findstr;或者往手机里放一个busybox文件,然后使用busybox grep命令,效果一样 查看运行的程序
查看手机正在运行的程序 ps
查看自己的程序是否在运行 ps | grep 应用包名
如果没有grep命令,可以放置一个busybox工具到手机
查看360对应的程序是否在运行 ps | busybox grep m.qihoo* 删除多个文件
cd dir
rm * 删除dir中所有文件 adb获取手机参数
adb获取手机所有参数参考这个
adb shell getprop
adb获取iccid
service call iphonesubinfo 4(需要权限android.permission.READ_PHONE_STATE)
adb获取imei
adb -d shell dumpsys iphonesubinfo
adb获取androidid
- androidid藏在这里[net.hostname]: [android-b33f3ac550112627]
复制代码
命令:getprop net.hostname
adb获取serialno
命令:getprop ro.boot.serialno或者getprop ro.serialno
adb获取imei
- service call iphonesubinfo 1
复制代码
使用”读取proc的方式”获取正在运行的进程
// 1,遍历”/proc”文件夹下面的文件夹,其中有些”文件夹名称”就是进程id(PID)
ls /proc
// 2,cat命令获取对应进程的名字(cat /proc/PID/cmdline)
cat /proc/1/cmdline 得到结果/init 查看进程具体的信息
(实例:12073是要查看的进程的PID)
- cat /proc/12073/maps 查看进程的文件结构
- cat /proc/12073/status 查看进程的状态
复制代码
通过packages.xml文件查看app安装信息
在/data/system/packages.xml文件中,找到你应用相关内容
我在小米上使用cat /data/system/packages.xml命令得到以下数据 - <package
- name="com.trafficctr.miui" codePath="/system/app/TrafficControl"
- nativeLibraryPath="/system/app/TrafficControl/lib" flags="540229"
- ft="152fdda2cc0" it="152fdda2cc0" ut="152fdda2cc0" version="29"
- userId="10069">
- .....
- </package>
复制代码
显然name就是包名,codePath就是安装的路径
使用shell启动和终止模拟器
adb shell stop//停止
adb shell start//启动 多设备选择
adb devices//显示处于调式模式的devices
adb -s emulator-5554 shell //表示选择5554模拟器的进入shell
42.busybox的安装
查看进程优先级
假设要查看程序com.test.app.a的进程优先级
- adb shell(进入shell)
- ps|grep com.test.app.a(列出这个进程)
复制代码
cat /proc/28155/oom_adj(获取这个进程的adj值)
adj值则在ProcessList中定义,adj的取值范围[-17,16],取值越大说明优先级越低。adj取值说明参考这里 dumpsys 查看内存,cpu,电量信息
1)查看所有内存信息
命令:dumpsys meminfo
2)查看某个包的内存信息
命令:dumpsys pkg_name
3)查看CPU信息
命令:adb shell dumpsys cpuinfo
4)查看电量信息
命令:dumpsys battery
参考这里:Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息
findstr 和grep过滤搜索 1)cmd下搜索包名为com.linux.test的进程
- adb shell ps|findstr /i “com.linux.test”
复制代码
2)shell下面搜索
先使用adb shell进去,然后使用grep命令过滤
查看最上层成activity名字
- adb shell dumpsys activity | findstr "mFocusedActivity"
复制代码
查看最上层窗口信息
- adb shell dumpsys window windows | findstr mCurrent
复制代码
- adb push C:\Users\Administrator\Downloads\Android安卓跟Linux系列\hosts /data/local/tmp/
- 3138 KB/s (154351 bytes in 0.048s)
复制代码
3,修改hosts文件(需要root权限) C:\Users\Administrator>adb shell
- shell@android:/ $ su
- su
- shell@android:/ # mount -o remount,rw /system
- mount -o remount,rw /system
- shell@android:/ # cat /data/local/tmp/hosts>/system/etc/hosts
- cat /data/local/tmp/hosts>/system/etc/hosts
- shell@android:/ # ls -l /system/etc/hosts
- ls -l /system/etc/hosts
- -rw-r--r-- root root 154351 2016-09-28 17:53 hosts
- shell@android:/ #
复制代码
修改完毕,手机随便连接一个wifi或者打开数据流量就可以上google和facebook等等网站了。
查看端口
显示已连接的端口:netstat -ntup
显示正监听的端口:netstat -ntupl
查询端口进程应关系cat /proc/net/tcp6
如果查询14752端口被那个进程占用?
(1)16进制39A0=10进制14752;
(2)39A0对应的进程ID(也叫uid)是10096
- sl local_address remote_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
- 0:
- 00000000000000000000000000000000:39A0
- 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000
- 00000000 10096 0 8887 1 00000000 100 0 0 2 -1
复制代码
(3)使用ps命令
在android中,uid大于10000的是应用程序创建的用户。
ps的第一列是uid,大于10000的uid会以u0_a开头,10096 显示为u0_a96,最后一列就是进程名。
adb发送广播
- adb shell am broadcast -n com.lt.test/.MyBroadcast
- adb shell am broadcast -a “MyBroadcastAction”
复制代码
|