以下是我這個(gè)系列的相關(guān)文章,有興趣可以參考一下油狂,可以給個(gè)喜歡或者關(guān)注我的文章健霹。
[Android]如何做一個(gè)崩潰率少于千分之三噶應(yīng)用app--章節(jié)列表
其實(shí)開(kāi)發(fā)的初衷并沒(méi)想過(guò)要使用Small插件化
但是往后面開(kāi)發(fā)功能模塊迭代越來(lái)越臃腫后买置,期望用戶每次升級(jí)這么大容量的app是不科學(xué)的。
然后考慮到叹誉,我們的工程架構(gòu)其實(shí)有點(diǎn)特殊鸯两,并不像其他單一module架構(gòu)那樣。
然后我們發(fā)現(xiàn)了Small新型的這個(gè)插件化方式长豁,跟我們工程架構(gòu)不謀而合Small地址
Small優(yōu)勢(shì)在于
(1)注意的地方建立module的時(shí)候钧唐,一定要注意lib和web、app命名是不同的匠襟。
(2)模板默認(rèn)一個(gè)main的入口逾柿,需要自己再建立一個(gè)App.main的module,App.main的module移植自己的代碼相當(dāng)于自己原app的入口宅此。而本來(lái)模板生成的app 模塊机错,可以不用做任何操作。
(3)如果是需要添加成多個(gè)的Tab的Fragment父腕,可以使用Small的接口Small.createObject
? ? 如果有看過(guò)我第6節(jié)動(dòng)態(tài)創(chuàng)建的內(nèi)容弱匪,可以明白,我是將每一個(gè)Fragment隔離為一個(gè)module的璧亮。
(4)因?yàn)槲沂菍⒚總€(gè)Fragment都定義為lib的module萧诫,所以命名需要遵從Small的規(guī)范,需要命名為lib.xxx(請(qǐng)注意一定要遵從命名規(guī)范)
? app的asset里面bundle.json添加聲明
可以看到sUris的需要重寫(xiě)lib的地址
createObject是通過(guò)命名查詢創(chuàng)建的
(5)關(guān)于Activity之間的跳轉(zhuǎn)
? ? ? ? 如果是保內(nèi)枝嘶,直接可以使用startActivity
? ? ? ? 如果是包之間的跳轉(zhuǎn)帘饶,需要使用Small的接口
? ? ? ? 如果跳轉(zhuǎn)網(wǎng)頁(yè),也是需要使用Small的接口
(6)然后我們需要完成編譯
? ? ? ?使用./gradlew buildLib編譯lib的module
? ? ? ?使用./gradlew buildBundle編譯一般的module?
? ? ? ?請(qǐng)注意群扶,需要編譯的bundle一定要在bundle.json里面聲明
? (7)編譯安裝app這個(gè)module即可在手機(jī)上運(yùn)行
***2017.3.7******
關(guān)于Small提到模板問(wèn)題
在mac的模板地址在
在window下的模板地址
\Android Studio\plugins\android\lib\templates\gradle-projects
? ? 這一節(jié)就介紹到這里及刻。
? ? 完成了Small的模塊編譯基礎(chǔ),之后我去寫(xiě)一個(gè)源碼分析的相關(guān)文章,至于會(huì)踩到什么坑竞阐,我會(huì)在那邊文章里面具體分析缴饭。
? ? 這個(gè)系列的相關(guān)文章,下一節(jié)的內(nèi)容先保密羅骆莹。
? ? 敬請(qǐng)期待!!!