天天看點

Android應用使用Replugin實作插件化

        我們在開發Android應用中,會存在App越來越大,越來越管理的情況。各子產品之間耦合度高、編譯效率慢、項目沖突不斷等問題不斷困擾着我們。但是元件化開發和插件化開發提供給我們更好的解決方案。今天我來介紹下插件化開發的一個架構Replugin。Replugin的2.1.5版本已經适配Android P(9.0),是一個非常好用的架構。

       首先,我們要從github上查找Replugin的官方文檔和官方的Demo,這非常有利于我們快速的入手。github位址:https://github.com/Qihoo360/RePlugin

       下載下傳并運作demo後,發現很容易就成功了。嗯,是很簡單。那麼開始檢視文檔,自己建立宿主工程和插件工程。

       一、宿主工程的建立步驟。

       1.建立一個空的Android App項目。(這個正常操作,不說了)

       2.工程外部的build.gradle中,加入如下紅色框内配置。

Android應用使用Replugin實作插件化

     3.App項目中的build.gradle加入如下紅色框内配置(注意位置,第一個紅色框要放到android{}後面)

Android應用使用Replugin實作插件化

      4.建構下工程,然後建立應用的Application類,并将demo中Application相關代碼拷貝過來即可~

      5.在assets目錄下建立plugins檔案夾,将插件APK字尾改為.jar,并拷貝到該目錄下,如圖紅色框内。(插件APK的建立及打包後面詳述)

Android應用使用Replugin實作插件化

       6.在宿主工程的MainActivity類中,加載插件及啟動插件,可以通過preload的方法提前加載好插件,提高使用者體驗。也可直接通過Replugin.startActivity()直接啟動。(注意:如果插件較大,則需要在子線程中preload,否則會卡主線程,造成ANR的異常)

Android應用使用Replugin實作插件化

      7.插件啟動,完成。

     二、插件App工程的建立及打包

      1.建立一個空的App工程。

      2.App工程外面的build.gradle配置添加紅色框内容:

Android應用使用Replugin實作插件化

       3.App工程内的build.gradle配置如框内:

Android應用使用Replugin實作插件化

      4.然後打包release包即可。

      當然,實際應用時,會遇到很多的問題,這僅僅是一個簡單的開始,如有任何問題,可留言,我們共同探讨。