阿里云热修复 Sophix 使用和灰度发布 根据标签来进行测试


1.3.2.6 setTags接口 [v3.2.7新增]
该参数设置端上拉取补丁包时的标签,可以支持条件更为丰富的灰度发布,以下为简单示例:

试用
List<String> tags = new ArrayList<>();
tags.add("test");
//此处调用在initialize()方法前
SophixManager.getInstance().setTags(tags);
试用
List<String> tags = new ArrayList<>();
tags.add("production");
//此处调用在initialize()方法前
SophixManager.getInstance().setTags(tags);
如上,设置不同的tags,同一版本号下,可以打两个或者多个基线包,线上发布时用production的基线包,测试环境用test的基线包,这样就可以测试同一版本号下的同一个补丁了,两个环境互不影响。tags可以add多个,结构为前后非空字符串即可。生成补丁时,用同样tags的基线包和修复包。

阿里云 热修复 使用文档 和函数说明 地址: 

https://help.aliyun.com/document_detail/93825.html?spm=a2c4g.11186623.6.580.492371c1mQOBkh#h2-1-4-4

 

2.官方使用文档地址和工具下载地址

 

阿里云 热更新 研发平台
    https://emas.console.aliyun.com/?spm=5176.2020520001.aliyun_sidebar.46.34ab4bd3xZNL5B#/product/3613296/hotfix/25230400/2

    热更新 添加流程

    1.登陆之后,点击左侧菜单栏 -> 应用管理 .可以添加应用包名一定要和应用apk 包名一致 。
    2.在app build.gradle 中,添加应用 库地址 ,

        repositories {

            //阿里云仓库
            maven {
                url "http://maven.aliyun.com/nexus/content/repositories/releases"
            }
        }

        和 加载库地址
        implementation 'com.aliyun.ams:alicloud-android-hotfix:3.2.8'

    3.Application 添加初始化代码

    @Override
        protected void attachBaseContext(Context base) {
            super.attachBaseContext(base);
            MultiDex.install(this);
            initHotfix();
        }
    4.在主页 查询并加载 补丁包 --  SophixManager.getInstance().queryAndLoadNewPatch();
      例如: 本应用中 在spalshAcy 应用启动第一个页面 查询补丁包;

    热更新官方文档
        https://help.aliyun.com/document_detail/69874.html?spm=a2c4g.11174283.6.553.2fb13ca0BAqKte

    生成补丁工具 地址:

        https://help.aliyun.com/document_detail/93826.html?spm=a2c4g.11186623.2.10.23d65b84yIBmsH

    调试补丁工具 地址:
        生成补丁后,在扫描验证补丁 点击 hotfixBug 下载补丁调试工具
        http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/hotfix_debug_tool-release.apk?spm=5176.2020520107.0.0.52da2ae9kWEcim&file=hotfix_debug_tool-release.apk

    热更新官方 demo 调试学习地址 :
        https://github.com/aliyun/alicloud-android-demo/tree/master/hotfix_android_demo?spm=a2c4g.11186623.2.44.6e0261dbstWWLJ

3.使用的注意事项: 

1、确保没有新增四大组件,没有修改AndroidManifest.xml和入口Application中的代码。

2、如果使用了混淆,确保打包使用的新旧包的混淆保持已经确保一致,如新包apply了旧包的mapping文件。

3、如果使用了加固,确保打包使用的新旧包都是加固前的正常包。

4、如果有资源修复,确保没有修改通知栏图标、启动图标资源以及RemoteViews等系统负责展示的资源。

5、如果有SO库的修复,确保所需要修复的SO都是以System.loadLibrary的方式,而不是以具体路径的方式进行加载。


6、注意设置里填好签名信息

7、注意打补丁的旧包和新包都是未进行加固的包

8、在控制台添加版本时注意版本号填写要和需要热修复的app版本一致

9、补丁打完上传到控制台后要用补丁测试工具扫描二维码热更新试试,看是否能成功,并测试打好补丁后的app

10、测试OK后先进行灰度测试,然后再全量发布

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章