Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 理解及使用adb

理解及使用adb

編輯:關於Android編程

Android Debug Bridge,Android調試橋接器,簡稱adb,是用於管理模擬器或真機狀態的萬能工具。

平時大家在開發android應用過程中,可能沒有直接用到adb,因為大家用的開發工具(不管是AS,還是安裝了ADT插件Eclipse)已經提供了透明的集成。

比如點擊運行按鈕運行程序,程序就安裝到模擬器或者真機上去了,然後啟動起來,這其中原理就是先使用了 adb push命令先將該apk文件拷貝到模擬器或真機上去。

然後使用adb shell 命令在目標模擬器或手機上啟動遠程SHELL 運行android系統的一些程序 比如pm,am去安裝程序,啟動程序。

下面是我用AS(android studio)開發,運行一個應用程序,輸出的一下日志:

\

拷貝文件,安裝程序,運行程序,其實都是AS通過adb工具實現。上面的過程,我們自己也可以在命令行中使用adb完成。稍後演示一下。

adb說白也就是一個應用程序,在終端輸入adb,回車:

\

如果你沒有安裝adb,會提示你安裝。android sdk就自帶adb,在platform-tools目下。

上面顯示adb 的版本信息,及一些命令的使用。

下面就介紹其中的一些adb命令

adb devices

\

列出當前連接電腦的所有android 設備,包括模擬器和真機,這裡我啟動了一個模擬器。這裡說的連接到電腦是說可以通過adb工具操作該設備了。

emulator<設備類型> 5554<端口號>

device 表示連接狀態,offline — 未連接或未響應 device—已經連接到電腦

adb shell

啟動遠程shell,可以理解就是和打開linux終端一樣, 打開模擬器或者真機的終端,如下圖:

\

現在就可以在該命令行使用linux的命令操作該設備裡的文件了。都是linux系統,所以linux能使用命令在該命令行也能使用。

當然android系統還有自己的一些命令,後面會提到一些。

如果當前沒有模擬器或者真機,則會:

\

如果要退出遠程shell ,則執行exit

\

 

adb push

copy file/dir to device ,也就是將本地的文件拷貝到模擬器或真機中去。

文章一開始就講到我們在AS中點擊運行按鈕運行程序,經過了拷貝,安裝,運行三個過程,現在我們自己使用adb命令來執行這些步驟

首先通過android device monitor 刪除已經在設備裡的文件

\

\

把cj.com.animation相關兩個文件都刪了。

刪除文件還可以通過adb shell 打開遠程shell 然後進入相應的目錄用linux命令刪一樣 ,這兩種方式操作原理其實都一樣,只不過這個是圖形化界面操作,容易操作。

看看刪除成功沒有,通過命令行確認一下

\

 

這裡 adb shell ls -a /data/local/tmp/ 這句命令其實進行了兩個操作,

首先執行adb shell ,打開遠程shell,然後再執行ls -a /data/local/tmp/ 這句命令就等於在模擬器的根目錄下執行了。這應該能理解。

現在我們就將apk文件拷貝到模擬器的的/data/local/tmp/目錄:

\

成功了有木有

我們還可以結合android device monitor 來看一下

\

好了現在文件拷貝進去,然後就開始安裝,同樣首先卸載之前安裝的apk,這個就直接在模擬器上卸載就行,然後看一下卸載成功沒

\

卸載前有animation這個apk

\

好了已經卸載成功

那麼開始安裝

\

 

一樣的adb shell pm install -r "...." 連起來使用了,可以分開使用

安裝成功了 /data/app目錄下多了一個程序 發現沒是animation-2,之前卸載的是-1

\

好了,現在安裝成功了,那就開始運行吧

 

\

看意思是啟動animation程序的主activity是成功了,看一下模擬器

\

沒錯是運行了。

平時點擊運行按鈕,執行過程就是這樣的。都是adb工具。

adb pull 命令

這個與adb push 相反,就將設備的文件拷貝到本地

\

很明顯拷貝成功了

\

其實這些從本地拷貝文件到設備,從設備拷貝文件到本地可以通過android device monitor 直接圖形化操作,很簡單

 

\

 

當然這裡主要是弄清楚命令行中使用adb來執行上述操作。

關於adb 命令還有其他就沒一一介紹。

下面准備講一些android的命令,上面提到一些 pm install ,am start 都是android的命令,這些命令是在adb shell 執行後 在遠程shell下執行的,上面連起來使用了,使用效果一樣。

總之,作為Android開發者,了解和使用adb的使用還是有必要的。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved