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