標籤:loader multiple 沒有 著作權 set address t許可權 man boa
Android ADB 常用命令 泛原罪 2016.09.21 00:02* 字數 605 閱讀 2912評論 0喜歡 1
[TOC]
adb logcat 查看日誌
詳細內容可參見
ADB Usage Complete / ADB 用法大全
官方文檔Listing of logcat Command Options
他人整合 http://jiongbull.com/2016/03/17/adb%E5%91%BD%E4%BB%A4/
應用相關查看應用列表
adb shell pm list package# has rootadb shell ls /data/data/
adb啟動/停止 應用程式
adb shell am start -n [packageName/StartActivity]adb shell am force-stop [packageName]
連接埠映射
# 顯示所有(PC —> DEVICE)映射的連接埠串連列表adb forward —list# 映射連接埠串連(PC —> DEVICE)adb forward (local) (remote)adb forward tcp:6100 tcp:7100# 映射連接埠串連,但是如果local已經映射了就會失敗adb forward —no-rebind (local) (remote)adb forward --no-rebind tcp:6100 tcp:7100# 移除指定的映射連接埠串連adb forward —remove tcp:6100# 移除所有的映射連接埠串連adb forward —remove-all
# 顯示所有來自裝置的(DEVICE —> PC)映射的連接埠串連列表adb reverse —list# 反向映射連接埠串連(DEVICE —> PC)adb reverse (remote) (local)adb reverse tcp:7000 tcp:5000# 如果local已經映射了就會失敗adb reverse —no-rebind (remote) (local)adb reverse --no-rebind tcp:7000 tcp:5000# 移除指定的反向映射連接埠串連adb reverse —remove tcp:7000adb reverse —remove-all
應用安裝卸載
# 擷取apk的packagename 和 classnameaapt d badging <apkfile># 安裝apkadb install <apkfile># 保留資料和快取檔案,重新安裝apk,adb install -r <apkfile># 安裝apk到sd卡adb install -s <apkfile># 卸載appadb uninstall <package># 卸載app但保留資料和快取檔案adb uninstall -k <package># 同時安裝包多個apk到裝置上adb install-multiple
adb install 參數
-l
鎖定應用
-r
替換已存在的應用
-t
允許安裝測試包
-s
安裝到sd卡中
-d
可以安裝低版本安裝包
-p
安裝部分應用
-g
授權所有運行時許可權
應用狀態查看
# 查看進程列表adb shell ps# 查看指定進程狀態adb shell ps -x [PID]# 查看後台services資訊adb shell service list# 查看IO記憶體分區adb shell cat /proc/iomem
調試查看
列出所有擁有JDWP連接埠進程的進程號
adb jdwp
檔案操作
# 查看所有存放裝置名adb shell ls mnt# 從本地複製檔案到裝置adb push <local> <remote># 從裝置複製檔案到本地adb pull <remote> <local># 列出目錄下的檔案和檔案夾,等同於dos中的dir命令adb shell ls# 進入檔案夾,等同於dos中的cd 命令adb shell cd <folder># 重新命名檔案adb shell rename path/oldfilename path/newfilename# 刪除system/avi.apkadb shell rm /system/avi.apk# 刪除檔案夾及其下面所有檔案adb shell rm -r <folder># 移動檔案adb shell mv path/file newpath/file# 設定檔案許可權adb shell chmod 777 [filePath]# 建立檔案夾adb shell mkdir -d path/foldelname
adb sync
把Android裝置上/system
和/data
目錄中與主機目錄中不一致的內容同步到主機上。
使用前需要設定主機目錄位址的環境變數。
adb sync(未設定環境變數)
D:\Code\Git>adb syncadb: Product directory not specified; use -p or define ANDROID_PRODUCT_OUT
set ANDROID_PRODUCT_OUT = (PATH)
D:\Code\Git>set ANDROID_PRODUCT_OUT = D:\Data\Android
adb sync(已設定環境變數)
D:\Code\Git>adb syncsyncing /system...push: D:\Data\Android\system/app/WAPPushManager.apk -> /system/app/WAPPushManager.apk
文本操作
# 查看檔案內容adb shell cat <file># 查看檔案的頭10行adb shell head -n 10 <file># 查看檔案的尾10行adb shell tail -n 10 <file>
root許可權操作
# 嘗試開啟root許可權,adb串連會重設 成功會提示 restarting adbd as rootadb root# 關閉root許可權adb unroot# 重新掛載系統磁碟分割,使系統磁碟分割重新可寫 成功提示 remount succeededadb remount# 重啟裝置,進入recovery程式的sideload模式,需要root許可權adb reboot sideload
這樣就可以操作Android系統檔案
調試環境下的dm-verity檢查
解鎖 system 分區用這個
關閉在調試環境下的dm-verity檢查adb disable-verity啟用在調試環境下的dm-verity檢查adb enable-verity
系統項目裝置資訊
# 完整裝置資訊adb shell cat /system/build.prop# 廠商資訊adb shell cat /system/build.prop | grep ro.product
環境變數
ADB_TRACE 指定列印調試資訊,可以設定為以下列表中的值,用逗號隔開
adb、sockets、packets、rwx、usb、sync、sysdeps、transport和jdwp
ANDROID_SERIAL
指定要串連的裝置,如果通過-s
指定了則該變數不起作用
ANDROID_LOG_TAGS
在使用logcat的情況下,只有這些標籤的調試資訊才會列印
dumpsys
adb shell dumpsys wifiadb shell dumpsys cpuinfo
可以dump當前啟動並執行內容包括
編號 |
參數 |
1 |
SurfaceFlinger |
2 |
accessibility |
3 |
account |
4 |
activity |
5 |
alarm |
6 |
appwidget |
7 |
audio |
8 |
backup |
9 |
battery |
10 |
batteryinfo |
11 |
bluetooth |
12 |
bluetooth_a2dp |
13 |
clipboard |
14 |
connectivity |
15 |
content |
16 |
cpuinfo |
17 |
device_policy |
18 |
devicestoragemonitor |
19 |
diskstats |
20 |
dropbox |
21 |
entropy |
22 |
ethernet |
23 |
hardware |
24 |
input_method |
25 |
iphonesubinfo |
26 |
isms |
27 |
keybar |
28 |
location |
29 |
media.audio_flinger |
30 |
media.audio_policy |
31 |
media.camera |
32 |
media.player |
33 |
meminfo |
34 |
mount |
35 |
netsta |
裝置資訊
# 查看裝置cpu和記憶體佔用情況adb shell top# 查看佔用記憶體前6的appadb shell top -m 6# 重新整理一次記憶體資訊,然後返回adb shell top -n 1# MAC地址adb shell cat /sys/class/net/wlan0/address# CPU序號adb shell cat /proc/cpuinfo
備份
# 把裝置的資料歸檔寫入檔案中adb backupadb backup -f backup.ab -all
-f
如果沒有這個標識,資料將會寫入到目前的目錄中的backup.ab檔案中
-apk|-noapk
啟用|禁用備份.apk檔案自己,預設是noapk
-obb|-noobb
啟用|禁用備份應用關聯的apk擴充,預設是noobb
-shared|-noshared
啟用|禁用備份裝置共用儲存/SD中的內容,預設是noshared
-all
備份所有安裝的應用
-system|-nosystem
決定-all是否包含系統應用,預設是包含系統應用
packages...
將要備份的應用列表,如果設定了-all或-shared標識,那麼這個參數將是可選的
從歸檔的備份檔案中恢複裝置內容
adb restoreadb restore backup.ab
裝置操作
# 返回所有應該包含在錯誤報表中的裝置資訊adb bugreport# 重啟adb reboot# 重啟刷機模式adb reboot bootloader# 重啟到復原模式adb reboot recovery
小禮物走一走,來簡書關注我
Android ? 著作權歸作者所有舉報文章 泛原罪
寫了 56743 字,被 178 人關注,獲得了 301 個喜歡
沒有什麼是一行代碼不能解決的,如果有就兩行 Context https://github.com/sinlov https://www.jianshu.com/p/37af717761cc
Android ADB 常用命令