[Android]如何做一個崩潰率少於千分之三噶應用app(9)-Small插件化

以下是我這個系列的相關文章,有興趣可以參考一下,可以給個喜歡或者關注我的文章。

[Android]如何做一個崩潰率少於千分之三噶應用app(1)-module工程架構

[Android]如何做一個崩潰率少於千分之三噶應用app(2)-完全退出App

[Android]如何做一個崩潰率少於千分之三噶應用app(3)-極速編譯

[Android]如何做一個崩潰率少於千分之三噶應用app(4)-極速編譯*續

[Android]如何做一個崩潰率少於千分之三噶應用app(5)-極速增量編譯

[Android]如何做一個崩潰率少於千分之三噶應用app(6)-動態創建

[Android]如何做一個崩潰率少於千分之三噶應用app(7)-跨module交互

[Android]如何做一個崩潰率少於千分之三噶應用app(8)-多渠道模塊


其實開發的初衷並沒想過要使用Small插件化

但是往後面開發功能模塊迭代越來越臃腫後,期望用戶每次升級這麼大容量的app是不科學的。

然後考慮到,我們的工程架構其實有點特殊,並不像其他單一module架構那樣。

然後我們發現了Small新型的這個插件化方式,跟我們工程架構不謀而合Small地址


Small優勢在於


可以先看Android 建立Small工程

(1)注意的地方建立module的時候,一定要注意lib和web、app命名是不同的。


(2)模板默認一個main的入口,需要自己再建立一個App.main的module,App.main的module移植自己的代碼相當於自己原app的入口。而本來模板生成的app 模塊,可以不用做任何操作。


(3)如果是需要添加成多個的Tab的Fragment,可以使用Small的接口Small.createObject


    如果有看過我第6節動態創建的內容,可以明白,我是將每一個Fragment隔離爲一個module的。

(4)因爲我是將每個Fragment都定義爲lib的module,所以命名需要遵從Small的規範,需要命名爲lib.xxx(請注意一定要遵從命名規範)


  app的asset裏面bundle.json添加聲明


可以看到sUris的需要重寫lib的地址


createObject是通過命名查詢創建的


(5)關於Activity之間的跳轉

        如果是保內,直接可以使用startActivity

        如果是包之間的跳轉,需要使用Small的接口


        如果跳轉網頁,也是需要使用Small的接口


(6)然後我們需要完成編譯

       使用./gradlew buildLib編譯lib的module

       使用./gradlew buildBundle編譯一般的module 

       請注意,需要編譯的bundle一定要在bundle.json裏面聲明


  (7)編譯安裝app這個module即可在手機上運行


    這一節就介紹到這裏。

    完成了Small的模塊編譯基礎,之後我去寫一個源碼分析的相關文章,至於會踩到什麼坑,我會在那邊文章裏面具體分析。

    這個系列的相關文章,下一節的內容先保密羅。

    敬請期待!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章