adb——Android的ADB工具使用
一、定義與作用:
?ADB全稱Android Debug Bridge, 就是起到調(diào)試橋的作用。是android sdk里的一個(gè)工具, 用這個(gè)工具可以直接操作管理android模擬器或者真實(shí)的andriod設(shè)備,默認(rèn)情況下當(dāng)我們運(yùn)行Eclipse時(shí)adb進(jìn)程就會(huì)自動(dòng)運(yùn)行。當(dāng)然我們也可以在外部使用本身自帶的一些命令,進(jìn)行操控模擬器或者真實(shí)的設(shè)備。adb一般位于<sdk>/platform-tools/目錄下,其中<sdk>是android sdk的安裝目錄。它的主要功能有:?
(1)快速更新設(shè)備或手機(jī)模擬器中的代碼,如應(yīng)用或Android系統(tǒng)升級(jí);
(2)在設(shè)備上運(yùn)行Shell命令;
(3)管理設(shè)備或手機(jī)模擬器上的預(yù)定端口;
(4)在設(shè)備或手機(jī)模擬器上復(fù)制或粘貼文件。
二、配置環(huán)境變量:
1,打開環(huán)境變量配置窗口。右擊計(jì)算機(jī),屬性-高級(jí)系統(tǒng)設(shè)置-環(huán)境變量。
?
2.下面你可以建一個(gè)單獨(dú)的變量,也可以直接在path后面直接追加,主要是個(gè)人習(xí)慣吧。要注意的是一定要指定目錄為:D:\Android\Android-sdks\tools。這是我的目錄
3.編輯成功運(yùn)行的結(jié)果如下圖:
三、代碼的使用
?
1、
adb version ? ? ? ? ??版本信息
C:\Users\Administrator>adb version
Android Debug Bridge version 1.0.31
2、
安裝與卸載應(yīng)用
可以通過install命令來從development computer安裝一個(gè)應(yīng)用到emulator/device上。
usage:?adb install <path_of_apk>
通過uninstall命令可以卸載已經(jīng)安裝的軟件。
1.usage:?adb uninstall name-of-app-package
其中name-of-app-package是/data/data目錄下的安裝包。
2.手動(dòng)刪除
adb shell
cd /data/app
rm app.apk
3、
.復(fù)制文件
可以使用adb pull ,push?命令將文件復(fù)制到一個(gè)模擬器/設(shè)備實(shí)例的數(shù)據(jù)文件或是從數(shù)據(jù)文件中復(fù)制。install?命令只將一個(gè)apk文件復(fù)制到一個(gè)特定的位置,與其不同的是,pull?和?push?命令可讓用戶復(fù)制任意的目錄和文件到一個(gè)模擬器/設(shè)備實(shí)例的任何位置。
從模擬器或者設(shè)備中復(fù)制文件或目錄,使用如下命:
adb pull <remote> <local>
將文件或目錄復(fù)制到模擬器或者設(shè)備,使用如下命令:
adb push <local> <remote>
在這些命令中,?<local>?和<remote>?分別指通向自己的發(fā)展機(jī)(本地)和模擬器/設(shè)備實(shí)例(遠(yuǎn)程)上的目標(biāo)文件/目錄的路徑。
下面是一個(gè)例子::
adb push foo.txt /sdcard/foo.txt
4、
?從電腦上發(fā)送文件到設(shè)備
adb push <本地路徑> <遠(yuǎn)程路徑>
用push命令可以把本機(jī)電腦上的文件或者文件夾復(fù)制到設(shè)備(手機(jī))
5、
從設(shè)備上下載文件到電腦
adb pull <遠(yuǎn)程路徑> <本地路徑>
用pull命令可以把設(shè)備(手機(jī))上的文件或者文件夾復(fù)制到本機(jī)電腦
6、
查看設(shè)備
adb devices
這個(gè)命令是查看當(dāng)前連接的設(shè)備, 連接到計(jì)算機(jī)的android設(shè)備或者模擬器將會(huì)列出顯示
7、adb logcat 使用logcat命令
8、過濾日志輸出
每一個(gè)輸出的Android日志信息都有一個(gè)標(biāo)簽和它的優(yōu)先級(jí).
- 日志的標(biāo)簽是系統(tǒng)部件原始信息的一個(gè)簡要的標(biāo)志。(比如:“View”就是查看系統(tǒng)的標(biāo)簽).
- 優(yōu)先級(jí)有下列集中,是按照從低到高順利排列的:
- V?— Verbose (lowest priority)
- D?— Debug
- I?— Info
- W?— Warning
- E?— Error
- F?— Fatal
- S?— Silent (highest priority, on which nothing is ever printed)
9、
控制日志輸出格式
日志信息包括了許多元數(shù)據(jù)域包括標(biāo)簽和優(yōu)先級(jí)。可以修改日志的輸出格式,所以可以顯示出特定的元數(shù)據(jù)域。可以通過?-v?選項(xiàng)得到格式化輸出日志的相關(guān)信息.
- brief?— Display priority/tag and PID of originating process (the default format).
- process?— Display PID only.
- tag?— Display the priority/tag only.
- thread?— Display process:thread and priority/tag only.
- raw?— Display the raw log message, with no other metadata fields.
- time?— Display the date, invocation time, priority/tag, and PID of the originating process.
- long?— Display all metadata fields and separate messages with a blank lines.
當(dāng)啟動(dòng)了logcat?,你可以通過-v?選項(xiàng)來指定輸出格式:
[adb] logcat [-v <format>]下面是用?thread?來產(chǎn)生的日志格式:
adb logcat -v thread需要注意的是你只能-v?選項(xiàng)來規(guī)定輸出格式 option.
10、
啟動(dòng)shell命令
Adb 提供了shell端,通過shell端你可以在模擬器或設(shè)備上運(yùn)行各種命令。這些命令以2進(jìn)制的形式保存在本地的模擬器或設(shè)備的文件系統(tǒng)中:
/system/bin/...不管你是否完全進(jìn)入到模擬器/設(shè)備的adb遠(yuǎn)程shell端,你都能?shell?命令來執(zhí)行命令.
當(dāng)沒有完全進(jìn)入到遠(yuǎn)程shell的時(shí)候,這樣使用shell?命令來執(zhí)行一條命令:
adb [-d|-e|-s {<serialNumber>}] shell <shellCommand>在模擬器/設(shè)備中不用遠(yuǎn)程shell端時(shí),這樣使用shell?命 :
adb [-d|-e|-s {<serialNumber>}] shell通過操作CTRL+D?或exit?就可以退出shell遠(yuǎn)程連接.
下面一些就將告訴你更多的關(guān)于shell命令的知識(shí).
?
adb 命令表
下列表格列出了adb支持的所有命令,并對(duì)它們的意義和使用方法做了說明.
?
| Category | Command | Description | Comments |
| Options | -d | 僅僅通過USB接口來管理abd | 如果不只是用USB接口來管理則返回錯(cuò)誤 |
| -e | 僅僅通過模擬器實(shí)例來管理adb | 如果不是僅僅通過模擬器實(shí)例管理則返回錯(cuò)誤 | |
| -s <serialNumber> | 通過模擬器/設(shè)備的允許命令號(hào)碼來發(fā)送命令來管理adb (如“emulator-5556″) | 如果沒有指定號(hào)碼,則會(huì)報(bào)錯(cuò) | |
| General | devices | 查看所有連接模擬器/設(shè)備的設(shè)施的清單 | 查看?Querying for Emulator/Device Instances?獲取更多相關(guān)信息 |
| help | 查看adb所支持的所有命令 | ? | |
| version | 查看adb的版本序列號(hào) | ? | |
| Debug | logcat [<option>] [<filter-specs>] | 將日志數(shù)據(jù)輸出到屏幕上 | ? |
| bugreport | 查看bug的報(bào)告,如dumpsys ,dumpstate ,和logcat?信息 | ? | |
| jdwp | 查看指定設(shè)施的可用的JDWP信息 | 可以用?forward jdwp:<pid>端口映射信息來連接指定的JDWP進(jìn)程,例如: | |
| Data | install <path-to-apk> | 安裝Android為(可以模擬器/設(shè)施的數(shù)據(jù)文件.apk指定完整的路徑) | ? |
| pull <remote> <local> | 將指定的文件從模擬器/設(shè)施拷貝到計(jì)算機(jī)上 | ? | |
| push <local> <remote> | 將指定的文件從計(jì)算機(jī)上拷貝到模擬器/設(shè)備中 | ? | |
| Ports and Networking | forward <local> <remote> | 用本地指定的端口通過Socket方法遠(yuǎn)程連接模擬器/設(shè)施 | 端口需要描述下列信息:
|
| ppp <tty> [parm]… | 通過USB運(yùn)行ppp:
需要提醒的不能自動(dòng)啟動(dòng)PDP連接 | ? | |
| Scripting | get-serialno | 查看adb實(shí)例的序列號(hào) | 查看?Querying for Emulator/Device Instances?可以獲得更多信息 |
| get-state | 查看模擬器/設(shè)施的當(dāng)前狀態(tài) | ||
| wait-for-device | 如果設(shè)備不聯(lián)機(jī)就不讓執(zhí)行,也就是實(shí)例狀態(tài)是?device?時(shí) | 可以提前把命令轉(zhuǎn)載在adb的命令器中,在命令器中的命令在模擬器/設(shè)備連接之前是不會(huì)執(zhí)行其他命令的,示例如下: adb wait-for-device shell getprop 需要提醒的是,這些命令在所有的系統(tǒng)啟動(dòng)起來之前是不會(huì)啟動(dòng)adb的,所以在所有的系統(tǒng)啟動(dòng)起來之前也不能執(zhí)行其他的命令,例如,運(yùn)用install?的時(shí)候就需要Android包,這些包需要系統(tǒng)完全啟動(dòng),例如: adb wait-for-device install <app>.apk 上面的命令只有連接上了模擬器/設(shè)備連接上了adb服務(wù)才會(huì)被執(zhí)行,而在Android系統(tǒng)完全啟動(dòng)前執(zhí)行就會(huì)有錯(cuò)誤發(fā)生 | |
| Server | start-server | 選擇服務(wù)是否啟動(dòng)adb服務(wù)進(jìn)程 | ? |
| kill-server | 終止adb服務(wù)進(jìn)程 | ? | |
| Shell | shell | 通過遠(yuǎn)程Shell命令來控制模擬器/設(shè)備實(shí)例 | 查看獲取更多信息?for more information |
| shell [<shellCommand>] | 連接模擬器/設(shè)施執(zhí)行Shell命令,執(zhí)行完畢后退出遠(yuǎn)程Shell端l |
轉(zhuǎn)載于:https://www.cnblogs.com/meiwei101/p/3985657.html
總結(jié)
以上是生活随笔為你收集整理的adb——Android的ADB工具使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结构体对齐计算方式
- 下一篇: 每次新建Android项目都报样式找不到