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

 

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