一偷俭、前言:
幾天前手淘終于把云棲大會上說的Atlas開源了抄淑,此處應(yīng)歡聲雷動??衩婚。官網(wǎng)地址剔应、GitHub地址
今天不說原理性的東西(后續(xù)或許會寫)咒林,有興趣可以看官方文檔:官方教程熬拒,鑒于初步跑官方給出的Demo時遇到了不少坑稍微總結(jié)下,讓在準(zhǔn)備探索的小伙伴不在迷茫的踩坑垫竞。
??注:轉(zhuǎn)載請注明原文地址澎粟、謝謝!
二欢瞪、下載Demo導(dǎo)入到Android Studio
Git clone 整個項(xiàng)目或者直接下載到本地:https://github.com/alibaba/atlas
1活烙、atlas-demo下有兩個項(xiàng)目:
FistBundle:當(dāng)它是一個獨(dú)立開的組件;
app是實(shí)際的工程遣鼓,用于集成組件啸盏,最終打包成我們要的apk。
2骑祟、導(dǎo)入項(xiàng)目
Android Studio:File->New->Import Project->分別導(dǎo)入FirstBundle和app工程回懦,現(xiàn)在AS已經(jīng)是2.3版本了气笙,gradle也已經(jīng)更新到3.3版本了,根據(jù)文檔說明我們暫時不去動工程的其他配置怯晕,目的是讓工程跑通潜圃,在此基礎(chǔ)上進(jìn)一步探索。
3舟茶、配置gradle版本導(dǎo)入時gradle可能會被更新到最新版本谭期,先改回這個2.14.1版本:
http\://services.gradle.org/distributions/gradle-2.14.1-all.zip
4、構(gòu)建FirstBundle工程
若本地未下載2.14.1版本的gradle可能要等好久吧凉,或者直接報錯(Error:Cause: zip file is empty)隧出,OS系統(tǒng)可以到gradle文件夾:/Users/用戶名/.gradle/wrapper/dists 查看有沒有下好,如下因?yàn)橐蕾嚨氖堑谌齻€文件夾下的gradle 然后一直下載不了客燕,最后我是copy上面文件夾下的文件鸳劳。也可以下載完放到對應(yīng)目錄
5、修改FirstBundle的builde.gradle
否則執(zhí)行不了(Issue地址)也搓,修改完用命令構(gòu)建赏廓,最終生成依賴包放在本地,F(xiàn)irstBundle的配置就到此為止傍妒, mavenlocal位置:/Users/用戶/.m2/repository/
publishing {
publications {
maven(MavenPublication) {
artifact "${project.buildDir}/outputs/awb/${project.name}-release.awb"
artifact sourcesJar
}
}
repositories {
mavenLocal()
// maven {
// url "url"
// credentials {
// username = "xxx"
// password = "xxx"
// }
// }
}
}
修改完成執(zhí)行shell構(gòu)建
./gradlew clean assembleRelease publishMavenPublicationToMavenLocal
6幔摸、app工程
修改builde.gradle 大概在37行,很奇怪阿里團(tuán)隊(duì)一個簡單的Demo搞這么多幺蛾子颤练。把firstbundle改成駝峰FirstBundle就好既忆,因?yàn)镕irstBundle工程生成的awb是FirstBundle。
三嗦玖、構(gòu)建
1患雇、關(guān)鍵在于app項(xiàng)目下兩個sh腳本
2宇挫、修改buildApk.sh
在文件內(nèi)容最后添加:adb install -r build/outputs/apk/app-debug.apk苛吱,或者構(gòu)建完成執(zhí)行安裝apk,因?yàn)閎uildApk.sh內(nèi)不是執(zhí)行命令器瘪,是echo "打印翠储、打印、打印"
Terminal執(zhí)行命令sh buildApk.sh橡疼,執(zhí)行成功后apk已經(jīng)包含了app和FirstBundle項(xiàng)目
sh buildApk.sh
3援所、sh buildTpatch.sh
Terminal執(zhí)行:sh buildTpatch.sh,把資源推到手機(jī)上欣除,具體看buildTpatch.sh文件的命令住拭。再點(diǎn)擊“動態(tài)部署”更新包內(nèi)容,至此就完成了:集成組件、快速更新的簡單演示滔岳。
四瘟檩、總結(jié)
微笑臉:),花了整整一天才摸清楚一個Demo澈蟆,成本有點(diǎn)高。但愿Atlas團(tuán)隊(duì)在優(yōu)化框架的同時也豐富下Demo卓研,畢竟入手還是要從文檔和Demo開始趴俘,倘若成千上萬的小伙伴花時間在解決這些坑真是浪費(fèi)生命。有疑惑請留言奏赘,謝謝寥闪!