objdump ,readelf::可以查看目标文件,如二进制可执行文件.so文件,
objdump -T XXX.so 检查库是否加密成功
链接:https://www.jianshu.com/p/863b279c941e
addr2line:当运行是库报错,或者app crash,可用于查看错误代码,
dos2unix: 将dos文件格式转换成unix格式。
cat /proc/meminfo 查看内存信息
cat /proc/cpuinfo 查看CPU信息
cat /proc/kmsg 查看内核打印
/system/etc/hosts . 域名映射。
mount -o remount,rw /system(这个命令也可以放在系统起来执行的文件里面。逗号两边没有空格)
strace:跟踪操作或者代码:
strace -o log.txt ./test
执行test时,把相关信息输入到log.txt文件里面。
1.adb:
adb -s <设备序列号> 子命令
adb连接异常:执行adb kill-server 和adb start-server
网络adb:
adb tcpip 5555
adb connect 设备IP 和adb disconnect 设备IP,用于网络远程连接adb。
在执行adb shell之前,执行adb root adb remount.可以使设备root。
这种操作权限获取的是最大的,
mount -o remount,rw /system一般放在脚本里执行,也是获取权限但是没有第一种权限大。
adb push和adb pull是上传和下拉文件。
adb install 和adb uninstall (卸载要用包名)
adb reboot recovery 重启进入recovery模式
adb reboot edl强制下载模式或者拨码开关也可以到强制下载模式。
adb shell /system/bin/screencap -p /mnt/sdcard/1.png截屏。
fastboot flash system system.img
fastboot flash boot boot.img
fastboot flash aboot emmc_appsboot.mbn烧写uboot
fastboot flash logo logo.raw烧写开机logo
用命令刷包:
adb reboot recovery 进入recovery模式。
通过音量键选择apply update from ADB
adb sideload XXX.zip进行系统升级
把内容a以追加的形式加到文件b中:echo “a”>> b
dumpsys :详解:http://www.tuicool.com/articles/EBZjmer
Android提供的dumpsys工具可以用于查看感兴趣的系统服务信息与状态,手机连接电脑后可以直接命令行执行adb shell dumpsys 查看所有支持的Service但是这样输出的太多,可以通过dumpsys | grep "DUMP OF SERVICE" 仅显示主要的Service的信息查看所有支持的Service。比如查看某service是否起来。可配合grep使用。
adb shell dumpsys activity | findstr "mFocusedActivity"
1)查看所有内存信息
命令:dumpsys meminfo
2)查看某个包的内存信息
命令:dumpsys pkg_name
3)查看CPU信息
命令:adb shell dumpsys cpuinfo
4)查看电量信息
命令:dumpsys battery
5)dumpsys window displays | head -n 3
查看设备的分辨率情况
getprop:获取安卓系统属性,setprop:可以设置其中的属性。
getprop | grep xxx 获取环境参数
setprop xxx 要设置的值
getevent 获取输入事件。
stop && start重启模拟器。启动速度比重启系统快。
am:
显式启动Activity或者应用:am start -n {包名}/{包名}.{活动名}
am start -n 包名 /. 类名 比如要打开camera,输入am start -n com.android.camera/.Camera 即可。
隐式启动Activity:am start -a {指定的action} -d {URI}隐式启动服务:am startService -a {指定的action}隐式发送广播:
am broadcast -a {指定的action}
am启动一个服务:
am startservice <服务名称>例如:am startservice -n com.android.music/com.android.music.MediaPlaybackService (这里-n表 示组件)或者 am startservice -a com.smz.myservice (这里-a表示动作,就是你在Androidmanifest里定义的)
pm:
PM工具的含义为Package Managusage: pmpm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH pm uninstall [-k] PACKAGE
pm install /mnt/sdcard/uzi.apk
禁止包(或者组件),清除包的数据,可以排除个别包的影响。
pm disable {包名.组件名} //pm enable {包名.组件名} pm clear {包名}
列出安装包的信息。
pm list packages -f
input:工具(模拟按键工具)input工具用于模拟用户的按键输入和文本输入。input keyevent
input text "1111" //相输入框输入字符
input keyevent 3设备回到主桌面。
(偷偷告诉你,很多同学通过这种方式去抓别人app的数据)
kill 干掉进程
adb shell am force-stop
作用:强制关闭一个应用程序
举例:adb shell am force-stop com.lt.test
adb shell am force-stop比使用 kill -9 要方便
参考http://blog.sina.com.cn/s/blog_6294abe70101275q.html
ps可以查看到进程的pid
kill -s 9 pid干掉指定pid的进程
批量干掉进程
busybox pkill -9 父进程
批量执行多条adb shell命令
adb命令带参数,cmd下面带上参数,先获取su,然后做其他事
演示在cmd下面可以直接使用su权限来删除/system/bin/testa文件和/system/xbin/testb
adb shell “su -c ‘rm -rf /system/bin/testa’”
adb shell “su -c ‘rm -rf /system/xbin/testb’“
网络配置:netcfg
netcfg -husage: netcfg [ {dhcp|up|down}]
netcfg :列出所有网络状态。
netcfg wlan0 up :启动wifi.
iwlist wlan0 scanning:搜索wifiAP。
网络配置:ifconfig.
ifconfig eth0 :可通过runtime判断返回字符的数量来判断有线是否连接。
ifconfig eth0 192.168.2.10
ifconfig eth0 192.168.2.10 netmask 255.255.255.0
ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255
ifconfig eth0 hw ether 00:AA:BB:CC:dd:EE
启动关闭指定网卡:
ifconfig eth0 up
ifconfig eth0 down
route命令用于网络路由
route add default dev eth0 route add default gw 192.168.1.1 dev eth0
第一行表示增加了网卡eth0,第二行表示为这个网络设备设置网关(gw)。
sed文本操作:
shell脚本执行操作文本很重要很强大的命令。可以增删改查文本文件。
详细使用方法:http://www.cnblogs.com/ctaixw/p/5860221.html
printenv:命令用于查看系统中的各个环境变量
常用linux命令:
cat、cd、chmod、cp、date、df、du、grep、kill、ln、ls、netstat、ping、ps、rm、rmdir、top、重定向符号 “>” “>>”、管道 “|”
vm主要命令:
#wm size 显示屏的分辨率。
#wm size WxH 设置分辨率
#wm size reset 恢复分辨率
#wm density XXXX 设置LCD的PPI
#wm density reset 恢复LCD的PPI
#wm overscan 0,0,100,100 //调节显示,左上右下
#wm overscan reset //恢复屏幕显示
注意:调节都是零时的。
https://blog.csdn.net/longxiaowu/article/details/25329677
************************************
安卓系统里循环脚本:
************************************
android中的sh不支持“((",expr,这些,要用
i=$(($1-1))
**********************************
#!/system/bin/sh
i=100
while [ i -gt 0 ] //-lt表示小于
do
echo $i
i=$((i-1))
done
***********************************
#!/system/bin/sh
while true
do
set ver
ver='ip route' //把执行ip route命令返回的值赋给ver.
echo $ver
if [[ $ver == *ech0*]]//判断ip route返回值里是否含有ech0字段
then
echo 'okokok'
break //如果有,跳出while循环
else
sleep 1 //没有就睡一秒。再循环
fi
done
************************************