adb命令集錦

來源:互聯網
上載者:User

標籤:ges   怎麼   使用   裝置   art   mp4   release   不可   authorize   

adb 是什嗎?

adb工具即Android Debug Bridge(安卓調試橋) tools。它就是一個命令列視窗,用於電腦端與模擬器或者真實裝置互動。
常用操作:

  • 把檔案發送到android裝置,或從android拖拽檔案到本地
  • 在android裝置上安裝/卸載應用
  • 把APP的日誌匯出到本地
  • 截屏
    思考:上面說的這幾點能否有其他方式替代,有什麼區別?
adb怎麼使用?
  1. 下載adb壓縮包,解壓後,添加環境變數,然後就可以在dos環境下使用了。
  2. usb串連電腦和手機,包括 Android 裝置處於正常開機狀態,USB 連接線和各種介面完好。
  3. Android 裝置的開發人員選項和 USB 偵錯模式已開啟
  4. 裝置驅動狀態正常。這一點貌似在 Linux 和 Mac OS X 下不用操心,在 Windows 下有可能遇到需要安裝驅動的情況,確認這一點可以右鍵「電腦」-「屬性」,到「裝置管理員」裡查看相關裝置上是否有黃色驚嘆號或問號,如果沒有就說明驅動狀態已經好了。否則可以下載一個手機小幫手類程式來安裝驅動先。
  5. 通過 USB 線串連好電腦和裝置後確認狀態。
常見問題:

adb devices 沒有裝置:可藉助驅動精靈檢查手機驅動,驅動安裝好之後重啟電腦。
adb devices unauthorized :解決辦法:將手機設定->協助工具功能->開發人員模式->撤銷usb調試授權,重新開啟開發人員模式

常用命令pc連結的所有android 裝置
adb devices
查看adb版本
adb version
裝包
如果在電腦D盤下面有個a.apk檔案,只需要一行命令就安裝到手機上:adb install d:/a.apk如果已經安裝了這個程式,可以通過以下命令覆蓋安裝:adb install -r d:/a.apk保留資料和快取檔案,重新安裝 apkadb install -r a.apk安裝包在android裝置中adb shell pm install apk在移動端的路徑
卸載包
adb uninstall 包名卸載軟體但是保留配置和快取檔案:adb uninstall -k 包名

如果機器上有多個模擬器或真機,需要使用-s命令列參數指定具體的模擬器或真機。例如,下面的命令分別在模擬器和真機上安裝、重新安裝和卸載應用程式。

在emulator-5554模擬器上安裝ebook.apkadb -s emulator-5554 install ebook.apk在真機上安裝ebook.apkadb -s HT9BYL904399 install ebook.apk在emulator-5554模擬器上重新安裝ebook.apkadb -s emulator-5554 install -r ebook.apk在真機上重新安裝ebook.apkadb -s HT9BYL904399 install -r ebook.apk在emulator-5554模擬器上卸載ebook.apk(不保留資料和緩衝目錄)adb -s emulator-5554 uninstall net.blogjava.mobile.ebook在真機上卸載ebook.apk(保留資料和緩衝目錄)adb -s HT9BYL904399 uninstall -k net.blogjava.mobile.ebook
包管理,如何知道一個app包名呢

包名(Package name)在Android系統中是判斷一個App的唯一標識,不同的App可以有同樣的名字,但是它的包名不可以相同。

例如我可以自己編譯產生一個App也叫“”,但是我App的包名不能為com.tencent.mm(的包名為這個),如果我指定的包名如果也和一致了,那麼My Phone上只允許安裝這兩個App中的其中一個。說到這很多人就會有疑問,如果有人惡意做了一個和內容一模一樣的App,名字和包名都和一樣,那怎麼分辨呢?Android中為了防止這樣,還做了一個叫簽名的東西,的簽名一般我們是沒有的,所以就可以通過簽名來標識出這款App到底是誰的了。

1、看原始碼當有原始碼的時候,可以到工程目錄下的 “AndroidManifest.xml”檔案下查看package這一項。2、adb命令查看列出手機裝的所有 app 的包名:adb shell pm list packages 列出系統應用的所有包名:adb shell pm list packages -s 列出除了系統應用的第三方應用程式套件名:adb shell pm list packages -3推測一個包中可能帶有的關鍵字:adb shell dumpsys activity | findstr mFocusedActivity清除應用資料與緩衝adb shell pm clear 應用程式套件名
檔案相關
1、接收電腦檔案文法:adb push local remote案例:adb push d:/a.txt /sdcard/  把電腦 D 盤下的 a.txt 檔案推送到手機 sdcard 目錄下2、上傳檔案到電腦文法:adb pull remote local案例:adb pull /sdcard/a.txt d:/   上傳位於/sdcard/目錄下的 a.txt 檔案到電腦的 D 盤根目錄下
截屏、錄屏
可以在安卓裝置上裝個QQ之類的軟體,進行截屏adb shell screencap /sdcard/a.pngadb shell /system/bin/screencap -p /sdcard/a.png2、使用adb進行螢幕錄影adb shell screenrecord /sdcard/a.mp4通過ctrl+c停止錄製,你可以在sdcard目錄下查看。媽媽再也不擔心我到處找錄製視頻的軟體了。
shell
進入shelladb shell退出shellexit
手機資訊收集
擷取序號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查看permissionsadb shell pm list permissions 查看系統的危險許可權dangerous permissionsadb shell pm list permissions -d -g
adb伺服器殺死和啟動
adb kill-serveradb start-server比如希望移動adb檔案夾,或者adb命令得不到想要的內容時
與進程相關:
列出當前進程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 包名
app的啟動停止

如果想在模擬器或真機上運行已安裝的應用程式,除了直接在模擬器或真機上操作外,還可以使用如下的命令直接運行程式。

在emulator-5554模擬器上運行ebook.apkadb -s emulator-5554 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main在真機上運行ebook.apkadb -s HT9BYL904399 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main其中Main是ebook.apk的主Activity。相當於Windows應用程式的主表單或Web應用程式的首頁面。am是shell命令。
與Activity操作等相關
查看當前顯示的activityadb shell dumpsys activity | findstr "mFocusedActivity"結果:  mFocusedActivity: ActivityRecord{93a4f9 u0 com.youdao.note/.activity2.MainActivity t36}注意:我們只需要這一部分:com.youdao.note/.activity2.MainActivity即包名+activity  找到當前手機內的top Activity:adb shell dumpsys activity top | findstr ACTIVITY啟動某一個Activity:adb shell am start activity路徑adb shell am start com.youdao.note/.activity2.MainActivity———————這個Activity路徑可通過上面擷取top activity的方式擷取
查看8080連接埠是哪個應用佔用(查看本地,用於排查問題)
netstat -ano|findstr "8080"

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.