編輯:關於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的使用還是有必要的。
這個demo集合了自定義對話框,進度條,下拉刷新以及popup彈出框等。是學習了網上開源項目後,抽取集合了常用對話框,進度條,下拉刷新以及popup彈出框等。現在結構目錄
多線程下載是加快下載速度的一種方式,通過開啟多個線程去執行一個任務..可以使任務的執行速度變快..多線程的任務下載時常都會使用得到..比如說我們手機內部應用寶的下載機制.
Android 調試工具,這裡做一個總結整理。DDMS -- Dalvik debug monitor service &n
最近在搗鼓android 自定義控件屬性,學到了TypedArray以及attrs。在這其中看了一篇大神博客Android 深入理解Android中的自定義屬性。我就更加