Compose的全动态插件化框架支持了,已更新到AGP 8.6,Kotlin2.0.20,支持Compose

1,335 阅读4分钟

aec379310a55b319ec2251902cc81d2bcdfc17ee.webp

只有不断的总结,不断的改进,才能最好的成长!

一、前言

WXDynamicPlugin 全动态插件化框架, 是本人自研零反射,零HooK,全动态化,插件化框架,全网唯一结合启动优化的插件化架构,之前开发背景的一直是
AGP版本是7.0,
Gradle版本也是 7.1
同时不支持compose
很多网友们接入发现,版本太低,kotlin版本太低,或者Android Studio版本太低,反应工程拉取代码下来,编译成最大的困难。
经过断断续续的一个月的努力,终于把项目升级到最新版本来了。

二、本次更新内容:

  • 1、用最新Android Studio版本编译(Android Studio Koala Feature Drop | 2024.1.2 Patch 1)
  • 2、Gradle版本升级到8.10(注意不是8.1):distributionUrl=https://services.gradle.org/distributions/gradle-8.10-bin.zip
  • 3、AGP(Android Gradle Plugin) 升级到8.6.0
  • 4、Kotlin版本 升级到2.0.20
  • 5、Compose的版本使用最新composeBom = "2024.09.00"
  • 6、使用最新的kotlinCompilerExtensionVersion = "1.7.0"
  • 7、版本管理统一使用了VersionCatalog,可以参考官方项目nowinandroid文章一文章二
  • 8、支持插件化Compose写UI和原生XML混合式用法

三、补充本次项目介绍

1、 增加Composes示例写法:

相关截图:\

2 新版本更新注意点:

  1. 项目下 workingDirPath的环境配置在<= 33.0.0以下:如下:
    1180fa63-6a34-4529-a4a6-798c084c14db.jpeg

  2. Android Studio中JDK 选用 17:
    1cd423a0-3f65-4af7-9f15-687d25763961.jpeg

  3. 电脑Java版本需要1.8.xxx,才能支持workingDirPath的环境配置在<= 33.0.0以下的编译命令 image.png

四、作者推荐插件化系列文章阅读顺序

  • 由于插件化本身难度比较大,不太可能一篇文章就能让人明白,要想花个10来分钟读完就能够接入了,特别是基础不是太好的同学,作者推荐系列文章阅读顺序:
  1. (一)零反射,零HooK,全动态化,插件化框架,全网唯一结合启动优化的插件化架构
    (二)零反射,零HooK,全动态化,插件化框架,全网唯一结合启动优化的插件化架构
    上面2篇文章主要是讲的该插件化框架开发背景,及和其他开源框架对比的优缺点

  2. Compose插件化:一个Demo带你入门Compose,同时带你入门插件化开发
    上面主要介绍插件化基础入门

  3. 花式高阶:插件化之Dex文件的高阶用法,极少人知道的秘密
    上面主要介绍的是在启动时候怎么读取插件配置最快,怎样做到比MMKV,FastKV+ FastJson,Protobuf配合使用起来还要快10多倍

  4. (三)零反射,零HooK,全动态化,插件化框架,全网唯一结合启动优化的插件化架构
    上面主要对插件化框架示例的项目介绍

  5. 大型项目架构:解析全动态插件化框架WXDynamicPlugin是如何做到全动态化的?
    上面文章可以作为本框架的最基础原理解析

  6. 想要自己接入了: 好现在开始阅读:
    还在不断升级发版吗?从0到1带你看懂WXDynamicPlugin全动态插件化框架
    (四)零反射,零HooK,全动态化,插件化框架,全网唯一结合启动优化的插件化架构

  7. 接入完了,你也可以达到下面的文章效果:甚至更好
    大型项目架构:全动态插件化+模块化+Kotlin+协程+Flow+Retrofit+JetPack+MVVM+极限瘦身+极限启动优化+架构示例+全网唯一

    视频教程在计划准备中,需要一段时间, 我也在努力加油,更新框架到2.0版本,优化打包接入方面下手。

    感谢大家的支持!!!

五、总结

  1. 本文介绍了本次插件化更新到最新版本的相关组件,同时支持 Compose开发
  2. 更新了相关版本介绍
  3. 针对插件化系列文章,推荐阅读顺序,方便接入

项目地址:
github地址
gitee地址

感谢阅读:

欢迎 关注,点赞、收藏

这里你会学到不一样的东西