Android 4.0 SDK的離線方式安裝(轉)


轉自:http://networking.ctocio.com.cn/110/12195610.shtml 

作為一個IT技術人員,迫不及待地就奔向了http://developer.android.com去看看有沒有新的SDK公布出來,當時是上午,沒見到有更新,心想一定是若干天后才會發布。沒想到同事下午告訴我,新版的SDK已經發布了。當時是臨下班,由於國內眾所周知的原因,訪問谷歌很慢,一個SDK幾十上百兆,如果用SDK Manager下載,太費勁了。於是繼續使用我的老辦法——離線安裝。

  之前曾經在網上找過離線安裝SDK的方式,也成功下載過,都是在網址:

  http://dl-ssl.google.com/android/repository/

  后面跟上 類似於“android-1.6_r03-windows.zip“這樣的文件名來下載的。這個文件名的得來完全是依靠SDK描述文件

  http://dl-ssl.google.com/android/repository/repository.xml

  得來的,但是隨着android 4.0 SDK發布之后,這個文件內容就被更改了,只剩下平台工具和SDK工具了,真正核心的平台和模擬器已經看不到了。

  其實SDK工具是精簡版本的SDK框架。只保留了工具,精簡掉了其他目錄結構。但是本人認為還是SDK框架好。

  因為本身較之SDK工具,體積大不了多少,但是解壓后自帶的目錄結構可以讓你不用建立那些固定的文件夾了。

  順便說一句,android 4.0 開發環境中要求的平台工具和SDK框架都不一樣了。需要更新到新版本。目前最低版本要求為:

  SDK Release 14: android-sdk_r14-[依操作系統而定].zip

  platform-tools Release 8: platform-tools_r08-[依操作系統而定].zip

  SDK框架可以在http://developer.android.com/SDK上直接下載。這里給出Windows操作系統下的SDK框架下載鏈接:

  http://dl.google.com/android/android-sdk_r14-windows.zip

  平台工具可以從上文提到的repository.xml中找到,可以根據不同的開發操作系統分別下載,這里給出Windows操作系統下的平台工具下載鏈接:

  http://dl-ssl.google.com/android/repository/platform-tools_r08-windows.zip

  先下載SDK框架,然后將其解壓,我把這個框架解壓到了D:\android-sdk-windows目錄下,如圖所示:

  然后將平台工具解壓到這個目錄,注意上圖中那個“platform-tools”目錄,這與壓縮包中的“platform-tools”目錄相對應。

  接下來就是最下載最重要的android 4.0的平台了。剛才說到repository.xml文件內容被官方修改了。那么如何找到最新以及以往的平台包呢?

  根據SDK Manager.exe啟動后的訪問記錄,我找到了這個新地址:

  http://dl-ssl.google.com/android/repository/repository-5.xml

  這就是保存最新以及以往平台包的xml文件了。從文件里分析,得知4.0的平台包下載路徑為:

  http://dl-ssl.google.com/android/repository/android-14_r01.zip

  其實我只從文件中找到了android-14_r01.zip,至於前面的路徑,我是通過嘗試以前版本的平台包官方地址猜到的。可見官方的存儲結構沒有發生變化。

  下載完成后,直接將這個包解壓到上圖中的platforms文件夾下即可:

  上圖中藍顏色的框內就是新加入的android 4.0平台。

  完成這一步的時候,我就急於建立模擬器了。但是建立的時候發生錯誤,說找不到userdata.img。

  然后我就將android 4.0平台與其他版本的平台進行對比,發現新版平台中少了“images”目錄,我還自作聰明地從其他平台中將文件拷貝出來貼到新平台內。

  最后我發現根本不行,無法加載內核數據。其實剛下載這個平台的時候我就曾經有過懷疑。

  因為2.3.3官方發布的平台包就已經有81.5M了,而新版的平台包怎么會少到43.92M呢?於是我就重新打開了SDK Manager去查找原因。

  原來新版平台中已經將系統鏡像分離出來了,如下圖所示的藍色框。

  因此我又返回了

  http://dl-ssl.google.com/android/repository/repository-5.xml

  在這個xml中尋找系統鏡像的下載地址,最后我找到了:

  http://dl-ssl.google.com/android/repository/sysimg_armv7a-14_r01.zip

  但是問題緊接着又來了。既然分離出來了,解壓之后放在哪里呢?我嘗試着和其它平台一樣放到平台內的“images”目錄下,結果失敗了。

  虛擬機創建了,但是半天啟動不起來。

  后來,我想到了SDK Manager在啟動后會自我檢查哪些平台裝了,哪些沒有裝。既然它能知道,那我為什么不分析一下它的行為呢?

  說干就干,使用SysinternalsSuite中的Process Monitor工具對其進行監視(SDK Manager套了一層exe的殼,實際上是用Java寫的,因此在進程中找不到SDK Manager.exe,而是應該監視java.exe)。后來經過分析,我得出了真正應該存放這個鏡像的目錄:

  SDK目錄下 system-images\android-14\armeabi-v7a,如下圖所示:

  刪掉之前創建的模擬器(因為總是啟動不起來,索性刪掉了),重新建立了android 4.0的模擬器,OK,大功告成!It works!

  下面放上兩張模擬器的截圖:

  最后總結一下體驗:也許是新版本發布的時候沒有經過完全檢測。當系統語言設置為中文的時候,默認的谷歌輸入法總是崩潰。

  因為系統提示谷歌輸入法意外退出,然后嘗試重新該服務,啟動之后又崩潰,崩潰之后又啟動,如此循環反復。我一氣之下將輸入方法改成了英文就沒有這個提示了。

  另外我建立的android 4.0模擬器(WVGA分辨率)開啟時占用內存350M,CPU占用率也在30~50%之間。

  我所使用的機器CPU為奔騰D雙核E5300 2.6GHz。本機內存2GB。經過同事實驗,當采用小分辨率的模擬器時,內存占用差別並不大。

  但是小分辨率模擬器運行流暢度較之大分辨率的要好很多。如果機器性能不是很好的話,建議用小分辨率的模擬器調試。

  寫完這篇文章后,有朋友反映4.0模擬器中WXGA分辨率的模擬器無法使用的情況。我親自實驗后發現情況屬實,雖然能夠創建AVD,但點擊AVD Manager中的“Start”按鈕后無法啟動相應的AVD。我發現要測試平板電腦的環境,可以使用分辨率為WSVGA分辨率的配置,這個AVD是可以啟動的。配置如下:

  下面是兩張AVD啟動后的截圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM