[更新]專門下載Android SDK和SDK組件的腳本。

 一、腳本緣起和內容
因爲官方是通過Android SDK and AVD Manager來下載的,原先想通過走一個正向代理獲得下載URL後再離線下載的,後來想想這玩意兒也應該是有一個總的資源URL文件,然後進行解析再下載的,那我把這個資源文件下載了自己解析不就搞定了麼。這個跟前面下載MeeGo和Android的GIT Projects是一個道理。所以就完成了下面這個腳本:
#!/bin/sh
DIR_TARGET="/opt/android/sdk"
FILE_URL="url.sdk"
mkdir -p ${DIR_TARGET} && cd $_
curl -k -sSf 'https://dl-ssl.google.com/android/repository/repository.xml' | awk -F'[<>]' '/sdk:url/{print "https://dl-ssl.google.com/android/repository/"$3}' > ${FILE_URL}
wget -ci ${FILE_URL}
 
【更新】重新改一下腳本,加上文件校驗功能:
#!/bin/sh
DIR_TARGET="/opt/android/sdk"
REPO_URL_BASE="https://dl-ssl.google.com/android/repository"
REPO_URL_FILE="repository.xml"
FILE_URL="url.sdk"
FILE_SUM="sdk.sha1sum"
mkdir -p ${DIR_TARGET} && cd ${DIR_TARGET}
curl -k -sSf "${REPO_URL_BASE}/${REPO_URL_FILE}" -o ${REPO_URL_FILE}
awk -F'[<>]' -v RUB="${REPO_URL_BASE}" '/sdk:url/{print RUB"/"$3}' ${REPO_URL_FILE} > ${FILE_URL}
wget -ci ${FILE_URL}
egrep '(sdk:checksum|sdk:url)' ${REPO_URL_FILE} | awk -F'[<>]' '{if(NR%2)A=$3; else print A"  "$3}' > ${FILE_SUM}
sha1sum -c ${FILE_SUM}
二、檢驗效果
下載任務大概是從2011-02-05 08:56:00開始,2011-02-05 09:02:02秒結束。wget報告說是09:02:02結束,總共耗時5m51s,也就是說wget認爲是從08:56:11開始的。這個很正常,因爲curl去下載,然後awk再解析生成url.sdk文件,該文件的時間戳是2011-02-05 08:56:07,然後wget要經歷很多文件內容處理和URL域名解析啥的,也還是需要時間的。:D
 
wget下載完畢後的報告:
FINISHED --2011-02-05 09:02:02--
Downloaded: 34 files, 1.7G in 5m 51s (4.89 MB/s)
嘿嘿……速度很快吧!
 
NDK也可以離線下載,只是暫時還沒有直接獲得URL的方式。暫時只能老實地弄個URL後再下載。
網上已經有很多關於Android SDK/NDK等離線下載的論文,各位可以參考,找出適合自己的方法。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章