ADB 最常用命令集合及各种问题解决方式

ADB是什么

Adb的全称为Android Debug Bridge:android调试桥梁。

常用命令

  • 基本前提操作

adb root   (获取手机root权限)

adb remount  (重新挂载系统分区,使系统分区重新可写)

adb shell (进入目标设备的Linux Shell环境)
  • adb查看连接的设备

C:\Users\dddd>adb devices
List of devices attached
192.168.18.205:1379     device
  • 开启/关闭adb服务

adb start-server 
adb kill-server 
  •  连接/断开设备

// 使用在线调试
adb tcpip 5555 // 设置调试端口号
adb connect ip  // 链接ip设备
adb disconnect ip   // 取消链接ip设备

// 使用usb调试
adb usb // 使用usb调试
ip为可以访问到的设备ip
  • adb 选择不同设备

当有多台设备连接时,需要在命令中夹杂 -s < specific device > 用以区分设备
如:
C:\Users\admin>adb devices
List of devices attached
efb1dc59        device
192.168.18.205:1379     device


C:\Users\admin>adb -s efb1dc59 install F:\Android-Project\jmrh\jungang-android\app\evn_test\release\4.apk
Success
  • adb查看已装应用列表

adb shell pm list package
说明:
adb shell pm list packages  // 查看所有应用
adb shell pm list packages -s   // 查看系统应用
adb shell pm list packages -3   // 查看三方应用
  • abd安装应用

//覆盖安装 -r
adb install -r app.apk
  • adb删除已安装的应用

adb uninstall com.example.packagename
  • adb强制关闭应用

adb shell am force-stop xxxxxx
  • adb启动应用

adb shell am start -n packagename/startactivityname
adb shell am start -n 包名/相对包名的类名
如:adb shell am start -n com.example.test/.MainActivity
  • adb pull拷贝手机文件到PC电脑上 push推送PC文件到手机上


上传文件:
adb push <本地文件><远程路径>
例如:adb push d:\3.txt storage/sdcard
下载文件:
adb pull <远程路径><本地路径>
例如:adb pull phone地址 F:\1
  • 查看apk签名,查看key签名,adb常用命令

查看apk的签名

方法一、先用解压软件将APK解压,命令处理META-INF目录下的CERT.RSA文件

       keytool -printcert -file F:\1\META-INF\CERT.RSA

方法二、直接用命令对APK进行处理

       keytool -printcert -jarfile F:\1\2.apk
查看keystore的签名

命令:keytool -list -keystore F:\1\app_key

从机器上下载下来APK,之后,如何反编译呢?

下载APKTool,将apktool.jar 文件拷到APK同一个目录下,执行下面代码:

//查看APK的清单文件基本信息
aapt dump badging xxx.apk
  • 手机信息采集

获取序列号

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 shell wm size

查看屏幕密度

adb shell wm density

查看permissions adb shell pm list permissions

查看系统的危险权限dangerous permissions adb shell pm list permissions -d -g
  • 与进程有关

列出当前进程

adb shell ps | findstr 包名

杀死某个包的进程

adb shell am force-stop 包名
  • 与性能相关

获取内存:

adb shell dumpsys meminfo 包名

获取cpu:

adb shell dumpsys cpuinfo | findstr 包名

adb shell top -n 1 | findstr 包名

获取流畅度相关:

adb shell dumpsys gfxinfo 包名
  • 查看日志

//查看日志
adb logcat
//查看编码格式
chcp 
//修改编码格式(如果存在乱码,修改编码格式为utf-8)
chcp  65001 

附一个场景

在一个定制的PAD上,需要本地覆盖安装烧录进去的系统级app,发现提示签名文件不一致。在只有本地APK,没有PAD上的APK文件的情况下,如何验证这两个APK的签名文件是否一致?

来一波操作,各个步骤均有说明:

//查看连接的设备
C:\Users\admin>adb devices
List of devices attached
192.168.18.205:1379     device

//查看安装的应用包名
C:\Users\admin>adb shell pm list packages -s
package:com.cvte.maxhub.rciservice

//查看system下某个包名的path
C:\Users\admin>adb shell pm path com.xxxx.jungang.release
package:/system/app/WeidongyunLaunch/WeidongyunLaunch.apk
//复制下来这个位置的apk 
C:\Users\admin>adb pull /system/app/WeidongyunLaunch/WeidongyunLaunch.apk f:\2
/system/app/WeidongyunLaunch/WeidongyunLaunch.apk: 1 file pulled. 3.2 MB/s (27207429 bytes in 8.012s)
//查看这个APK的签名文件信息
C:\Users\admin>keytool -printcert -jarfile f:\2\WeidongyunLaunch.apk
签名者 #1:

签名:

所有者: [email protected], CN=SEEWO, OU=SEEWOOS, O=SEEWO, L=Guangzhou, ST=GuangDong, C=CN
发布者: [email protected], CN=SEEWO, OU=SEEWOOS, O=SEEWO, L=Guangzhou, ST=GuangDong, C=CN
序列号: ba764c3b1dfe7fd5
有效期开始日期: Wed Dec 02 17:54:03 CST 2015, 截止日期: Sun Apr 19 17:54:03 CST 2043
证书指纹:
         MD5: 5C:4C:65:E2:63:06:7B:76:8C:9D:74:2B:71:B0:B5:D9
         SHA1: 35:57:F7:D9:35:CC:A5:89:D2:BA:54:E6:EA:28:4C:F3:E0:12:32:27
         SHA256: FE:E3:E5:A3:FD:F7:CC:8C:DF:0C:27:EF:70:A0:92:AF:23:CF:11:DC:F2:28:58:C9:14:B3:58:BA:5A:EA:84:C1
         签名算法名称: SHA1withRSA
         版本: 3
//查看本地的某个APK的签名信息
C:\Users\admin>keytool -printcert -jarfile F:\Android-Project\jmrh\jungang-android\app\evn_test\release\军港-测试环境-v1.2.1正式版.201911071336.apk
签名者 #1:

签名:

所有者: CN=xxxx, OU=xxxx, O=xxxx, L=BeiJing, C=cn
发布者: CN=xxxx, OU=xxxx, O=xxxx, L=BeiJing, C=cn
序列号: 25db7c60
有效期开始日期: Thu Mar 21 20:31:22 CST 2019, 截止日期: Mon Mar 14 20:31:22 CST 2044
证书指纹:
         MD5: 1A:F3:1F:48:23:AE:1B:FD:6C:6A:43:99:8D:02:2F:5E
         SHA1: 42:C6:CC:B1:8B:1D:F0:C0:67:18:6D:D2:57:69:F0:AD:8A:F9:7F:69
         SHA256: EA:B9:0D:C7:F6:78:67:E3:E1:F4:42:4D:58:03:2A:77:5D:7D:5B:A6:9E:A0:AE:31:AF:47:E9:8B:92:CA:6F:26
         签名算法名称: SHA256withRSA
         版本: 3
  • adb 连接10061的解决方式

1、先用数据线连接android设备

2、adb usb

3、adb kill-server

4、adb tcpip 5555

5、adb connect 设备IP:5555

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章