- 列出已經連接到電腦的設備,如果設備狀態
unauthorized,需要在設備上點擊同意USB調試,允許電腦訪問本設備。
$ adb devices
List of devices attached
0123456789ABCDEF device
- 通過adb shell查找apk文件位置,替換 package name為包名或者application id。
adb shell pm path <package name> ## 根據包名查詢apk路徑
adb shell pm path com.xxx.test
package:/data/app/com.xxx.test/base.apk
- 如果不知道包名,可以通過 adb shell pm list packages 列出所有包。
/data/app下的文件外部不可讀,需要復制到可讀寫文件夾,例如:/storage/sdcard0/DCIM。執行 adb shell 進入設備
adb shell
XXX100:/ $ cp /data/app/com.xxx.test/base.apk /storage/sdcard0/DCIM
XXX100:/ $ exit
- 通過
adb pull將apk文件拉取到本地 (注意: 執行adb pull命令時要退出adb shell模式,也就是在windows cmd下執行adb pull)
adb pull /storage/sdcard0/DCIM/base.apk /Users/xxx/Documents/
/storage/sdcard0/DCIM/base.apk: 1 file pulled. 11.4 MB/s (15350092 bytes in 1.282s)
- 連接要安裝應用的設備,替換
AAABBB123456789為adb devices查詢到的設備ID
adb devices
## 安裝到指定的設備上
adb -s AAABBB123456789 install -r /Users/xxx/Documents/base.apk
## 若只有一個與電腦連接的android設備,則命令中可以不指定設備號
adb install /Users/xxx/Documents/base.apk
Ref: https://www.jianshu.com/p/c1416d21f922