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