最新版本: 1.3.0
更新內容:
gradle添加依賴:
// 最低gradle編譯插件版本要求 com.android.tools.build:gradle:4.0.0// 宿主中implementation 'org.xutils:xutils:3.9.0'implementation 'org.xplugin:xplugin:1.3.0'// 插件中compileOnly 'org.xutils:xutils:3.9.0' // 可選compileOnly 'org.xplugin:xplugin:1.3.0'
更多信息: https://gitee.com/juefeng_com/xPlugin
一. 介紹Android消息化插件框架 利用消息最大化解耦, 使插件在啟動時可異步加載, 提高應用啟動效率. 目前所有接口通過Android API [19, 30] 各版本兼容測試.
特性: 資源共享: 可指定Runtime Module, 其他Module可使用其提供的類型和資源. 資源隔離: 每個插件模塊儘量使用自己內部的類型和資源, 避免類型和資源衝突問題. 消息通信: 模塊間通過消息通信實現相互調用, 最大化的解耦, 延遲加載依賴, 在模塊被調用時加載(可設置自動異步加載依賴模塊). 接近原生: 原生方式使用系統API, 部分限制及解決方法參考如下信息.限制:
Activity: 不支持外部應用直接啟動, 如有需要建議在宿主中註冊 或 實現自定義Activity進行跳轉. Service: 不支持外部應用直接啟動, 使用場景有限, 更新不頻繁, 如有需要建議在宿主中註冊. Broadcast: 使用動態註冊實現, 需要應用處於運行狀態, 如需實現靜態註冊建議在宿主中註冊. ContentProvider: 不支持外部應用直接啟動, 如有需要建議在宿主中註冊. 系統進程資源問題: Notification等需要系統進程加載應用內資源的情況, 建議由應用包裝包接口供插件使用. overridePendingTransition動畫資源問題: 類似系統進程資源問題, 但可以在宿主中添加同名資源, 或通過 ActivityHelper#registerOverridePendingTransitionAnimId 設置映射關係, 框架將自動處理加載過程.二. 軟體架構注意: Demo工程中main模塊編譯完成後會在runtime目錄輸出其他Module依賴的資源文件, 使得其他Module可以使用Runtime Module提供的類型和資源.