一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

ADB命令詳解

 James130 2018-06-02

概述

adb(Android debug bridge),用于管理模擬器或真機(jī)。包括三個(gè)部分:adb客戶端(PC上),adb服務(wù)器(PC上),adbd(模擬器或真機(jī)上)。網(wǎng)上看到下圖,貼上來

  運(yùn)行adb客戶端時(shí),會檢測adb服務(wù)器進(jìn)程時(shí)候運(yùn)行,如果沒有運(yùn)行,啟動服務(wù)器。當(dāng)服務(wù)器啟動時(shí),會綁定到本地的TCP5037端口。并且監(jiān)聽從adb客戶端發(fā)來的命令。

說明:可以通過 adb start-server啟動服務(wù),通過adb kill-server停止服務(wù)。

  adb服務(wù)器與所有正在運(yùn)行的模擬器和真機(jī)連接。它通過掃描5555—5585之間的奇數(shù)端口來搜索模擬器或真機(jī),一旦發(fā)現(xiàn)adb守護(hù)進(jìn)程,就通過此端口進(jìn)行連接。需要說明的是,每一個(gè)模擬器或真機(jī)使用一對端口,奇數(shù)端口用于adb連接,偶數(shù)端口用于控制臺連接。

  如果模擬器與adb在5555端口連接,則控制臺的連接端口將是5554.

 

Android 命令

  使用Android命令的前提條件,一定要將sdk\tools目錄放到環(huán)境變量中。

  使用android -h獲取幫助信息。android list device和adb devices輸出的內(nèi)容不一致,應(yīng)該是android輸出的并不是已經(jīng)運(yùn)行的設(shè)備,而是其能創(chuàng)建虛擬機(jī)的設(shè)備列表,使用eclipse創(chuàng)建虛擬機(jī)的時(shí) 候,可以選擇的那個(gè)列表。另外android命令執(zhí)行的時(shí)間比較長。android命令沒有特別去操作,只是在網(wǎng)上看到很多人寫的博客中都有 android命令,但是自己用的時(shí)候卻提示不是內(nèi)部或外部命令。所以將使用android命令的前提寫出來。

  android包含很多子命令??梢酝ㄟ^以下方式查看子命令的幫助信息:

  例如查看創(chuàng)建模擬器子命令的幫助信息:android -h create avd

  在sdk\tools目錄中,不止有android命令。還有ddms等命令,可以操作一下試試。

 

ADB常用命令

  adb version 查看adb版本

  adb install [-lrtsdg] <file> 安裝app

  adb install-multiple [-lrtsdpg] <file ... >

  adb uninstall [-k] <pakage> 卸載app

  adb push <local> <remote> 從PC拷貝東西到設(shè)備上

  adb pull <remote> <local> 從設(shè)備拷貝東西到PC上

  adb logcat 設(shè)備的日志

  adb bugreport 查看bug報(bào)告

  adb jdwp

  adb sync [<directory>] 

  adb shell 進(jìn)入設(shè)備的shell命令

  adb emu

  adb backup [-f <file>] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem] [<packages ... >]

  adb restore

  adb disable-verity

  adb enable-verity

  adb keygen <file>

  adb forward <local> <remote> 將特定端口上的請求轉(zhuǎn)發(fā)到模擬器或手機(jī)的指定端口上。

  adb forward --no-rebind <local> <remote>  

  adb forward --list  

  adb forward --remove <local>

  adb forward --remove-all

  adb reverse <remote> <local>

  adb reverse --norebind <remote> <local>

  adb reverse --list

  adb reverse --remove <remote>

  adb reverse --remove-all


連接設(shè)備相關(guān):

  adb -a 命令針對所有的設(shè)備,需要與命令一起使用,例如 adb -a push <local> <remote>

  adb -d 命令針對真機(jī),需要與命令一起使用。如果有多個(gè)模擬器或手機(jī),當(dāng)使用adb命令的時(shí)候就需要指定目標(biāo)設(shè)備。

  adb -e 命令針對虛擬機(jī),需要與命令一起使用。如果有多個(gè)模擬器或手機(jī),當(dāng)使用adb命令的時(shí)候就需要指定目標(biāo)設(shè)備。

  adb -s <specific device> 命令針對指定設(shè)備,需要與命令一起使用。如果有多個(gè)模擬器或手機(jī),當(dāng)使用adb命令的時(shí)候就需要指定目標(biāo)設(shè)備。

  adb -p <product name or path>

  adb -H 訪問其他機(jī)器上的adb service

  adb -P 訪問其他機(jī)器上的adb service

  adb devices [-l] 列出所有的設(shè)備,實(shí)際列出的就是設(shè)備的serialnumber,可以通過-s指定列出的serialNumber找到對應(yīng)的設(shè)備

  adb connect <host>[:<port>] 

  adb disconnect[<host>[:<port>]] 

 

scripting :

  adb wait-for-device

  adb start-server 啟動adb server

  adb kill-server 停止adb server

  adb get-state 列出設(shè)備狀態(tài): offline | bootloader | device

  adb get-serialno 列出設(shè)備的serial number

  adb get-devpath 

  adb remount 從新掛載系統(tǒng)分區(qū),使其可寫(system、vendor、oem目錄)

  adb reboot [bootloader|recovery] 

  adb reboot sideload

  adb reboot sideload-auto-reboot

  adb sideload <file>

  adb root  重啟adbd并獲得root權(quán)限

  adb unroot  重啟adbd并釋放root權(quán)限

  adb usb

  adb tcpip <port>

 

Android系統(tǒng)對應(yīng)的命令(部分為linux命令)

adb shell am start -n <package_name>/.<activity_class_name>  // 啟動應(yīng)用

adb shell top        // 查看設(shè)備cpu和內(nèi)存占用情況
adb shell top -m 6     // 查看占用內(nèi)存前6的app
adb shell top -n 1    // 刷新一次內(nèi)存信息,然后返回
adb shell procrank     // 查詢各進(jìn)程內(nèi)存使用情況
adb shell kill [pid]    // 殺死一個(gè)進(jìn)程
adb shell ps        // 查看進(jìn)程列表
adb shell ps -x [PID]    // 查看指定進(jìn)程狀態(tài)

adb shell service list   // 查看后臺services信息

 

emulator命令

可以使用emulator命令啟動模擬器。

emulator -avd <avd名稱>

emulator -data 鏡像文件名稱

 

連接真機(jī)的兩種方式

  可以通過兩種方式連接真機(jī),通過usb連接,也可以通過局域網(wǎng)連接,如下圖所示。通過局域網(wǎng)連接的方式需要使用命令adb connect <host>[:<port>],斷開連接的方式 adb disconnect[<host>[:<port>]]

在Android6.0 (Android M)userdebug版本上(eng版本不存在該問題),發(fā)現(xiàn)使用adb remount 系統(tǒng)之后,還是不能對system分區(qū)進(jìn)行操作,提示沒有寫權(quán)限,為只讀文件系統(tǒng)Read-only file system

解決方法如下 

.執(zhí)行如下命令 

1. adb root 
2. adb disable-verity 
(最新的adb 工具包才支持adb disable-verity命令,如果是Linux開發(fā)環(huán)境,則可使用工程編譯結(jié)果目錄out/host/linux-x86/bin下的adb執(zhí)行文件) 
3. adb reboot 重啟設(shè)備 
(只要不刷機(jī),以上步驟執(zhí)行一次就行) 
4. adb root 
5. adb remount 
現(xiàn)在可以對system分區(qū)進(jìn)行讀寫了

注意點(diǎn): 
1.新版本的adb工具 adb shell 進(jìn)入命令行之后,Ctrl+c不能退出,可輸入exit退出 
2.可點(diǎn)擊adb\run_adb.bat文件直接啟動adb

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产精品激情对白一区二区| 欧美日韩免费黄片观看| 亚洲一区二区三区三州| 亚洲精品有码中文字幕在线观看| 亚洲天堂精品一区二区| 蜜臀人妻一区二区三区| 深夜日本福利在线观看| 亚洲国产婷婷六月丁香| 成人精品亚洲欧美日韩| 国产三级欧美三级日韩三级| 国产精品内射视频免费| 国产二级一级内射视频播放| 国产精品视频一级香蕉| 成人精品亚洲欧美日韩| 成人精品亚洲欧美日韩| 69老司机精品视频在线观看| 国产精品国产亚洲看不卡 | 色丁香一区二区黑人巨大| 亚洲熟妇熟女久久精品| 国产麻豆精品福利在线| 国产一区欧美午夜福利| 99热九九在线中文字幕| 成人国产激情福利久久| 亚洲一区二区三区三区| 亚洲夫妻性生活免费视频| 在线观看中文字幕91| 亚洲综合伊人五月天中文| 国产超薄黑色肉色丝袜| 最新日韩精品一推荐日韩精品| 中文字幕欧美精品人妻一区| 欧美日韩综合在线精品| 欧美精品一区二区水蜜桃| 日韩在线中文字幕不卡| 色综合久久超碰色婷婷| 欧美日韩综合在线精品| 精品伊人久久大香线蕉综合| 天堂网中文字幕在线观看| 日本人妻的诱惑在线观看| 色小姐干香蕉在线综合网| 国产精品一区二区三区激情| 99免费人成看国产片|