轉載請注明出處:
LouisWang?http://blog.csdn.net/louiswangbing/article/details/6606865
相信對于廣大Android應用開發愛好者來說,Android SDK工具集的大家都已經能夠很熟練的使用,但是我這里要介紹的是SDK工具集的非常用使用方法,即“另類用法”。
首先要說的是,大部分的Android應用程序開發者是基于Android模擬器來開發應用程序的,這種開發方式雖然很方便,直接用Eclipse就可以集成開發環境,基本上不需要手動去設置或者操作什么,但是同時也有幾點很大的弊端:
1、Android模擬器的內存有限,如果開發相對比較耗資源的應用程序,就比較頭疼了--模擬器運行的十分緩慢;而且隨著模擬器分辨率設置的變化,分辨率越大模擬器就越卡也給應用開發帶來了不小的困擾。這時候有些通報可能就會選擇購買開發板或者用買個Android手機來進行應用的開發。但是其實,我們是有更好的方式來做Android的應用開發,這里先賣個關子。
2、通常來說,大家進行Android應用程序的開發都是在本機上實現的,也就是說代碼編輯和模擬器運行是在同一臺機器上實現的,但是有沒有想過將這兩者分別在兩個機器上進行,或者說用虛擬機來實現Android系統的模擬呢?
說到這里,大家是不是覺得很有意思呢?
其實,Android不止是提供了arm版的!!!這里要隆重介紹一下Android—x86版,有不了解的朋友可以百度一下。
其實說起來很簡單,使用android-x86進行應用程序的開發需要經歷一下幾個步驟:
1、找一臺linux主機或者裝一個虛擬機
2、下載android-x86源代碼并進行編譯(這部分本人就不再這里詳細介紹了,百度一下大把大把的)
3、將編譯生成的android鏡像(一般名為generic-x86.iso)用虛擬機運行
經過一下幾步,大家就可以看到一個類似操作系統的android系統了,它的好處是,你可以隨意設置這個系統的內存大小,flash大小,CPU頻率等各種硬件屬性,使得你的應用程序開發不需要再考慮各種硬件資源對模擬器的影響,你不用再喝著咖啡吃著面包看著模擬器緩慢的運行心里干著急了!!!甚至,你完全可以找一臺主機,把android系統裝到臺式機或者筆記本上!!
寫到這里,關鍵的問題就來了,可能有些朋友就要問了,這樣的話,要怎么樣把應用程序開發與android-x86這個系統聯系起來呢?
這就涉及到本文的第二部分了,即android sdk工具集的另類用法。
首先說一種比較傻瓜式的方式:你可以將編譯成的android apk應用程序通過U盤掛載到andriod-x86系統上,然后通過U盤對應用進行安裝。不過顯然,如果只能用這種方式的話,我也不會寫這篇文章里。
其實android sdk工具集本身已經做得夠強大了,只要大家細心看看sdk各工具的使用說明就能發現,這里鄙人做下簡單的說明:
adb工具的使用其實并不只局限于對模擬器的使用,它還有更強大的用法。
adb connect使用說明:
按照剛才說的,你已經將android-x86通過虛擬機運行起來了,或者你資源比較豐富,一不做二不休已經將這個系統裝到另外一個系統上來,那么接下來,就說一下實現的詳細步驟。
首先,在虛擬機或者裝有android系統的主機上用ALT+F1,你會驚奇的發現,原來這個系統還有提供命令行界面!其實想想這也沒什么好奇怪的,因為android使用的是linux內核,而linux內核的ALT+F1就是切入命令行界面的快捷鍵,同樣的,要重新回到圖形界面,ALT+F7就行了,這和linux系統也是一致的。
進入命令行界面之后,敲入netcfg命令,我們可以看到這個系統的ip,比如說這里我們看到的是192.168.1.160。
接下來,就是adb工具的另類用法了:adb connect 192.168.1.160:5555(冒號前面的參數是你android-x86系統的ip,后面那個參數是端口號,不可變)。
當顯示連接成功的時候,所有的豬呢比工作都已經準備完成了。
接下來,就是見證奇跡的時刻:
在windows主機下使用adb install命令將你主機上有的apk應用程序安裝一下,你就會驚喜的發現,這個應用程序居然被安裝到了android-x86系統上,并且運行的飛快,比那什么什么模擬器快了不知道多少倍!!!
更有甚者,你會發現,怎么你通過Eclipse運行應用程序之后,模擬器并沒有打開,而這個應用程序已經神奇的運行到了android-x86系統上來!!!
這是怎么回事呢?
其實原理很簡單,之所以起初你使用adb install和用Eclipse運行程序的時候程序會裝到模擬器上,是因為adb這時候模擬連接的就是模擬器,而當你使用adb connect連接上了android-x86系統上的時候,這個“默認的模擬器”就變成了你的虛擬機或者另外一個anddroid主機了,這樣一來,所以對“模擬器”的操作都將會在android-x86系統上執行。
是不是很神奇呢?
如果有興趣的話,不妨一試哦!雖然可能起初會花費你一些時間,但是帶來的快樂和之后開發的高效,一定會給你意想不到的收獲的!!