Sophix怎么读
名字寓意解析对比图
sophix和其他框架的对比图优点
- 集成简单,非侵入式
缺点
- 不能更新四大组件
- 一个月超过5W次需要支付费用。收费总览地址
原理
通过底层替换和类加载两种方式实现。
资料下载链接密码: 7f2n
产品需求实现思路
前期注册一些无用的Activity和Service为后期的业务扩展预留空间。通过这种方式,有如下几个问题:1. 组件的命名跟后期的业务名不能关联。2. 一旦预留的空间用完了,将无法再更新。
插件化Atlas
插件化解决如下几个问题
减小主包大小
不发版上新功能
独立开发加载 A/B TEST 模块
bug 修复工具
工程中moudle之间关系
将项目分为宿主工程和bundle两部分。也就是说,将一个项目做成一个壳子工程,这个壳子工程用来管理整个项目的apk的icon,版本号,versioncode等。而对于bundle部分分为两种:一种为j将bundle一起打包在宿主工程中,在使用的时候,调用该模块。另一种为remotebundle,这种方式是,打包时独立于宿主工程,单独打包为一个扩展名为“.so”的文件,宿主工程在需要使用到remoteBundle模块时,下载到本地,通过intent.setClassName(MainActivity.this, "atlas.yiba.com.remotebundle.RemoteMainActivity");
就可以加载remotebundle到宿主中。
工程构建流程
整个工程
- 修改gradle版本为3.3
- 修改工程目录下的build.gradle配置
构建宿主工程
remotebundle工程
- 该工程唯一要做的就是修改工程下的build.gradle
产品需求
问题
- 项目改造难度可能比较大。
- 四大组件不能扩展
- 需要后台实现版本管理平台
解决方案
- 通过预留四大组件实现扩展
网友评论