阿里Atlas组件框架使用

2018-02-27 11:21:00来源:https://www.jianshu.com/p/987efaf28192作者:闲庭CC人点击

分享


APP插件化/组件化框架分析
VirtualAPK插件框架简单使用


今天主要讲述的阿里Atlas组件框架的简单使用,如果对插件化和组件化还不了解的,请移步APP插件化/组件化框架分析简单了解下。


项目结构

app 主项目


loadingbundle 远程加载组件 不打包进apk


homebundle 加载组件 打包进apk


commonlib 公共方法库 宿主与组件使用


项目使用流程

使用最新的Android studio开发工具、更新到最新的gradle-3.3-all。
官网地址和gradle各版本下载地址:
官网:http://gradle.org/release-candidate/
各版本下载地址:http://services.gradle.org/distributions


编译apk包 gradlew assembleDebug 后安装到手机


   app的build.gradle的语句"version = getEnvValue("versionName", "1.0.0");"中修改想要生成的app的versionName(默认为1.0.0)
在Terminal中执行gradlew assembleDebug生成apk
安装到手机adb install app/build/outputs/apk/app-debug.apk
把远程bundle推送到手机adb push app/build/outputs/remote-bundles-debug/libcom_liujc_loadingbundle.so /sdcard/Android/data/com.liujc.atlas/cache

发布到本地仓库 gradlew publish将跟apk同目录的ap文件发布到仓库,此时ap的版本是1.0.0。
如:会在本地仓库中生成对应文件信息C:/Users/DFH.m2/repository/com/liujc/atlas/AP-debug/1.0.0/AP-debug-1.0.0.ap


修改版本号、修改项目内容、打差异包


gradlew clean assembleDebug -DapVersion=apVersion -DversionName=newVersion,
其中apVersion为之前打的完整apk的版本(即当前应用中的app版本),newVersion为此次动态部署要生成的新的版本号,
例如命令 gradlew clean assembleDebug -DapVersion=1.0.0 -DversionName=1.0.1


5、检查build/output/tpatch-debug 目录下文件是否生成,然后执行下面的命令


 (根据你手机的当前版本推送对应版本的update-**.json,和对应的tpatch文件)
例如,这时是第1次部署,versionName是1.0.0,所以命令行是:
adb push build/outputs/tpatch-debug/update-1.0.0.json /sdcard/Android/data/com.liujc.atlas/cache/update-1.0.0.json
adb push build/outputs/tpatch-debug/patch-1.0.1@1.0.0.tpatch /sdcard/Android/data/com.liujc.atlas/cache/patch-1.0.1@1.0.0.tpatch

6、后续继续做想要的修改,我们要变成1.0.2 (某个bundle做动态部署的时候请更新版本号(versionName),因为差量会基于版本号对比)


gradlew clean assembleDebug -DapVersion=1.0.0 -DversionName=1.0.2 这时候会生成两个 patch-1.0.2@1.0.0.tpatch patch-1.0.2@1.0.1.tpatch

根据你目前的app版本号,重复5步骤,推送对应版本的update-**.json,和对应的tpatch文件。
例如: 如果这时你app的versionName是1.0.1
你命令行就是:


adb push build/outputs/tpatch-debug/update-1.0.1.json /sdcard/Android/data/com.taobao.demo/cache/update-1.0.1.json
adb push build/outputs/tpatch-debug/patch-1.0.2@1.0.1.tpatch /sdcard/Android/data/com.taobao.demo/cache/patch-1.0.2@1.0.1.tpatch

如果这时你app的versionName是1.0.0,也就是还是基线版本
你的命令行就是:


adb push build/outputs/tpatch-debug/update-1.0.0.json /sdcard/Android/data/com.taobao.demo/cache/update-1.0.0.json
adb push build/outputs/tpatch-debug/patch-1.0.2@1.0.0.tpatch /sdcard/Android/data/com.taobao.demo/cache/patch-1.0.2@1.0.0.tpatch

7、 后续继续做想要的修改,我们要变成1.0.3 (某个bundle做动态部署的时候请更新版本号,因为差量会基于版本号对比)


../gradlew clean assembleDebug -DapVersion=1.0.0 -DversionName=1.0.3 这时候会生成三个 patch-1.0.3@1.0.2.tpatch patch-1.0.3@1.0.1.tpatch patch-1.0.3@1.0.0.tpatch

根据你目前的app版本,重复5步骤,推送对应版本的update-**.json,和对应的tpatch文件。








最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台