Android ADB 常用命令

來源:互聯網
上載者:User

標籤: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後的手機才可以執行
# 嘗試開啟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 常用命令

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.