adb命令

设备相关

查看设备的 分辨率

adb shell wm size

查看设备的 像素密度

adb shell wm density

查看设备的 显示系统信息

adb shell dumpsys displays

查看设备的 序列号

adb get-serialno

查看设备的 MAC 地址

adb shell cat /sys/class/net/wlan0/address

查看设备的 型号

adb shell getprop ro.product.model

查看 Android 系统版本

adb shell getprop ro.build.version.release

重启设备

 adb reboot

关机

adb shell reboot -p

进入 fastboot 模式

 adb reboot bootloader

应用相关

查看设备中已安装应用列表

adb shell pm list package

清除应用数据

adb shell pm clear <package>

安装应用

adb install com.sample.xxx

卸载应用

adb uninstall com.sample.xxx

启动应用

adb shell am start -n com.sample.xxx/com.sample.xxx.MainActivity

查看 Activity 栈中的所有 Activity

adb shell dumpsys activity activities

保存 log 到文件

adb logcat -c // 先清空以下 log
adb logcat > D:\log.txt

只打印指定应用的异常信息

adb logcat -s '*E' --pid=`adb shell pidof -s com.sample.xxx`

发送广播

adb shell
am broadcast -a android.intent.action.SCREEN_OFF
am broadcast -a com.android.vending.INSTALL_REFERRER -n <your.package>/.<path.up.until.your.BroadcastReceiver> --es "referrer" "utm_source=test_source&utm_medium=test_medium&utm_term=test_term&utm_content=test_content&utm_campaign=test_name"

Monkey Test(10000次事件,结果保存到D:\log.txt目录)

adb shell monkey -p <package> -v 10000 > D:\log.txt

通过 apk 文件获取签名信息

1.Get rsa file name in apk
    (Windows)
    > jar tf HelloWorld.apk |findstr RSA
    (Linux)
    $ jar tf HelloWorld.apk |grep RSA
2.Unzip rsa file from apk
    jar xf HelloWorld.apk META-INF/CERT.RSA
3.Get fingerprints of keystore
    keytool -printcert -file META-INF/CERT.RSA
4.Delete rsa file
    (Windows)
    rmdir /S /Q META-INF
    (Linux)
    rm -rf META-INF

导出DB文件

adb shell "run-as <package> chmod 666 /data/data/<package>/databases/<database>"
adb pull /data/data/<package>/databases/<database> d:\<database>

Android App 能分配的最大内存

adb shell
cat /system/build.prop

dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=96m // 普通应用的内存限制
dalvik.vm.heapsize=256m // 在manifest中设置了largeHeap=true 之后,可以使用的最大内存值
dalvik.vm.heaptargetutilization=0.75
dalvik.vm.heapminfree=512k
dalvik.vm.heapmaxfree=8m

模拟按键操作

adb shell input keyevent 4 // 返回
数字 keycode
1 KEYCODE_MENU
3 KEYCODE_HOME
4 KEYCODE_BACK
26 KEYCODE_POWER

模拟点击操作

adb shell input tap 50 250

模拟滑动操作

// 前四个数为坐标,最后一个数是滑动时间(单位毫秒)
adb shell input swipe 50 250 250 500

模拟输入文字

adb shell input text abc

显示所有alarm(保存到D:\alarm_list.txt目录)

adb shell dumpsys alarm > D:\alarm_list.txt

删除系统应用

adb remount (重新挂载系统分区,使系统分区重新可写)。
adb shell pm list packages -s // 找到要删除的包名
adb shell pm path com.xx.xx  // 获取系统apk路径
adb remount // 挂载系统读写权限
adb shell rm <上面命令获取到的路径> // 删掉apk文件
adb shell rm -rf data/data/com.xx.xx/ 删掉/data/data下的文件(这一步有可能不需要,如果只删除apk还是不行的话,加上这步) 
adb reboot // 重启

// 如果 adb remount 权限不够试下下面命令
adb root
adb disable-verity
adb reboot
adb root
adb remount
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容