1 .显示当前运行的所有模拟器: ADB设备
启动ADB ADB开始服务器
停止ADB ADB kill -服务器
4 .安装APP应用程序: adb install -r [apk文件]
锁定-l #程序-重新安装r #程序并将其安装在SD卡上,而不是安装在用于保存数据的-s #设备的内部存储器中
示例: ADB install-- rd :mm.apk
5 .卸载APP应用程序: ADB uninstall [包名称]
示例: adbuninstallcom.Tencent.mm
不删除运行-k #程序生成的数据和缓存目录(如软件数据库文件)
示例: ADB uninstall-kcom.Tencent.mm
6 .将手机设备的文件副本发送到本地计算机:
adb pull设备目录的本地目录示例: ADB pull/SD card/mm.txtd 3360 (从存储卡根目录的txt文件copy到d驱动器的根目录) )
7 .将本地计算机上的文件复制到移动电话设备
adb push本地目录示例移动电话设备目录: ADB pushd :mm.txt/SD card
8 .显示ADB命令的帮助信息: adb help
9 .示例屏幕快照: ADB shell screencap-p屏幕快照的文件路径
10 .检视指定套装程式名称之APP应用程式的资料库储存资讯。 也包括存储的SQL语句
示例:ADB外壳dumpsysdbinfo[packagename]
11 .显示指定进程或进程id的内存信息
ADB shell dumpsysmeminfo [ package name/PID ]允许您检查进程的当前内存状态
示例: ADB shell dumpsysmeminfocom.Tencent.mm
12 .查看指定包名称的APP应用程序的详细信息。 相当于AndroidMainfest.xml的内容)
adb shell dumpsys [packagename]示例: adbshelldumpsyscom.Tencent.mm
13 .显示显示当前应用的活动信息的adb shell dumpsys activity top错误报告:
adb bugreport
14 .列出手机里的所有apk包名称
ADB外壳pmlistpackages
系统APP应用程序: ADB shell pmlistpackages-s
第三方APP应用程序: ADB shell pmlistpackages-3
grep过滤: ADB shell pmlistpackages|grep QQ
15 .清除APP应用程序高速缓存信息:
ADB外壳pmclear[packagename]
16 .从ADB启动APP应用程序页面
ADB shell am start-n [软件包名称活动名称]
示例: ADB shell am start-ncom.Tencent.mm/. ui.splashacitvity
如果强制停止APP应用程序,则adb shell am force-stop //示例: adbshellamforce-stop cn.androidstar.demo,如果APP应用程序卡死了需要强制停止
17、记录无线通信日志:
通常,无线通信日志非常多,不需要在运行时进行记录,但也可以使用命令设置记录。
ADB外壳
log cat-b射频
18、获取机器ID和序列号: adb get-product
adb get-serialno
19、访问数据库sqlite3 ADB shell
进入sqlite3 # CD系统/SD/data//系统中的指定文件夹
#ls //列表中显示当前文件夹的内容
删除名为#RM-rXXX//XXX的文件夹及其所有文件
#rm xxx //删除文件xxx
#删除#rmdirXXX//XXX文件夹
20 .导出设备信息
adb get-serialno序列号. txt
ADB shell cat/sys/class/net/WLAN0/address MAC地址. txt
ADB shell getpropro.product.model设备型号. txt
ADB shell getpropro.build.version.release系统版本. txt
ADB shell pmlistpackages-s系统APP应用程序的所有软件包名称. txt
ADB外壳pmlistpackages-3
第三方应用包名.txtadb shell wm size > 屏幕分辨率.txt
adb shell wm density > 屏幕密度.txt
adb shell cat /proc/cpuinfo > CPU信息.txt
adb shell pm list permissions -f > 权限.txt
adb shell pm list users -f > 用户.txt
21.重启adb reboot
还有2个非常有用的命令:
1.备份adb backup
[-f ] [-apk|-noapk][-shared|-noshared] [-all] [-system|nosystem] []
例:adb backup -f mm.ab -noapk -noshared -nosystemcom.tencent.mm你可以使用的最基本的命令是很简单的
adb backup -all
它将使用默认方式备份应用和设备的数据(不包含apk)到当前目录下并保存为文件backup.ab
※这个命令有可能不对每个设置都有效,如果你出现像这种 "adb: cannot open file ./backup.ab"的错误,使用 adb backup -all -fC:backup.ab来代替,其中路径C:可根据喜好替换
对各个参数的解释:
-f
用这个来选择备份文件存储在哪里,例如-f /backup/mybackup.ab将会使文件存储在根磁盘(Windows的C盘等等)下一个名为backup的文件夹里,并且备份文件名为mybackup.ab
-apk|-noapk
这个决定是否在备份里包含apk或者仅仅只备份应用数据,个人推荐使用-apk以免有的应用在应用市场找不到,如果不使用则默认的是-noapk
-shared|-noshared
这个参数用于决定是否备份设备共享的SD card内容,默认是-noshare,主要包括内部存储中的音乐、图片和视频,因此为保险起见,建议加上-share
-all
这个参数是一种简单地表达“所有应用”的说法,package参数可以选择备份单独的应用,如果你不是备份某个应用,使用-all备份整个系统
-system|-nosystem
这个参数决定-all标签是否包含系统应用,默认的是-system,根据情况可选择是否用-nosystem
如果你知道应用安装包的名称(例如com.google.android.apps.plus),就可以使用该参数备份特定应用。
3.当决定如何执行备份后,输入你喜欢的命令,在华为G700上测试,使用命令
adb backup -apk -all
更新一些反编译常用命令:
1.查看当前进程的内存的加载情况啊:
cat /proc/7654/maps 查看当前进程内存的映射情况
2.查看当前应用使用的端口号信息:
cat /proc/[pid]/net/tcp
3.查看进程的状态信息:
cat /proc/[pid]/status可以通过该命令获取到当前进程的包名,PID,PPID等等重要信息(比较实用的命令)
4.查看一个dex文件的详细信息
dexdump [dex文件路径]
5.使用aapt命令获取apk的清单文件
aapt dump xmltree [apk包] [需要查看的资源文件xml]