ADB
ADB和串口调试是什么?
ADB为Android Debug Bridge,是一个命令行工具,可对安卓机器进行调试,支持linux命令
串口调试需要特殊工具,链接电脑和手机设备,相当于进入ADB shell
ADB路径
如果有安装AndroidSDK,则adb.exe在以下路径
D:\AndroidSDK\platform-tools
在命令行敲adb有输出即可使用,如无则需要配置环境变量
获取root权限和挂载(必要)
adb使用
adb root
adb remount
串口使用
su
remount
如果提示su no found,则打开avd manager换一个Android x.x(Google APIs)的模拟器
ADB命令
查看当前设备
可看到当前有模拟器在运行,若有多个设备则要加上-s 和设备名选择设备
adb devices
拉取文件和推送文件
将/data/anr下的文件复制到当前目录./
adb pull /data/anr ./
将当前目录下的1.txt复制到/data/anr
adb push 1.txt /data/anr
串口使用cp
ADB Shell和串口共同命令
logcat
获取当前启动的app,cmp={}的就是启动activity
logcat | grep START
将log输出到1.txt,退出按Ctrl+C
logcat > 1.txt
抓取TAG为song的log
logcat -s song > 1.txt
抓取所有的错误log
logcat -s *:E > 1.txt
dumpsys
列出运行的Activity
dumpsys activity activities
列出运行的Service
dumpsys activity services
AM
获取当前应用栈,可用于查看栈里的Activity
am stack list
启动/关闭Activity,若Application设置了android:persistent,则无法force-stop
am start -n packageName/ActivityName
am force-stop packageName/ActivityName
发送广播,如下发送带string参数和int参数的action广播
am broadcast -a action --es stringAgrs "agrs" --ei intAgrs 1
开启Service
am startservice packageName/ServiceName
关闭Service
am stopservice packageName/ServiceName
截图和录屏
screencap -p /sdcard/1.png
screenrecord /sdcard/demo.mp4
input
模拟按键,keyCode可在android.view.KeyEvent中查看
input keyevent keyCode
模拟滑动输入,x1 y1 x2 y2为坐标点
input touchscreen swipe x1 y1 x2 y2
发送文字
input text 123
PM
安装Apk,pm为串口调试,若是USB调试则改为adb
pm install xxx.apk
卸载Apk
pm uninstall packageName
获取应用包名,加上-f 列出apk路径
pm list package
获取所有第三方应用包名
pm list package -3
由包名获取Apk路径
pm path packageName
获取包名的相关信息
pm dump packageName
清除Apk数据
让apk恢复出厂设置
pm clear packageName
操作数据库
进入某应用数据库目录
cd /data/data/com.example.databases/
打开数据库需要用sqlite3+数据库名字
sqlite3 databaseName.db
查看数据库中的表,打开数据库后即可对相应的表进行sql操作:
.table
查看建表语句:
.schema