阿里百川HotFix接入指南

阅读更多
阿里百川HotFix接入指南
1.首先需要成为阿里开放平台的开发者,然后在百川后台创建一个应用。
https://hotfix.taobao.com/hotfix/appList.htm
2.应用创建完成,在studio项目的build.gradle下面加入maven仓库
repositories {
   maven {
       url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories"
   }
}
添加gradle坐标版本依赖:
dependencies {
    compile 'com.taobao.android:alisdk-hotfix:2.0.7'
}

3.添加需要的权限







4.在AndroidManifest.xml中间的application节点下添加如下配置:
android:name="com.taobao.android.hotfix.IDSECRET"
android:value="App ID" />
android:name="com.taobao.android.hotfix.APPSECRET"
android:value="App Secret" />
android:name="com.taobao.android.hotfix.RSASECRET"
android:value="RSA密钥" />

5.添加混淆配置
#基线包使用,生成mapping.txt
-printmapping mapping.txt
#生成的mapping.txt在app/buidl/outputs/mapping/release路径下,移动到/app路径下

#修复后的项目使用,保证混淆结果一致
#-applymapping mapping.txt

#hotfix
-keep class com.taobao.sophix.**{*;}
-keep class com.ta.utdid2.device.**{*;}

6.必须在Application.onCreate()的最开始进行SDk初始化
SophixManager.getInstance().setContext(this)
                .setAppVersion(appVersion)
                .setAesKey(null)
                .setEnableDebug(true)
                .setPatchLoadStatusStub(new PatchLoadStatusListener() {
                    @Override
                    public void onLoad(final int mode, final int code, final String info, final int handlePatchVersion) {
                        // 补丁加载回调通知
                        if (code == PatchStatus.CODE_LOAD_SUCCESS) {
                            // 表明补丁加载成功
                        } else if (code == PatchStatus.CODE_LOAD_RELAUNCH) {
                            // 表明新补丁生效需要重启. 开发者可提示用户或者强制重启;
                            // 建议: 用户可以监听进入后台事件, 然后应用自杀
                        } else if (code == PatchStatus.CODE_LOAD_FAIL) {
                            // 内部引擎异常, 推荐此时清空本地补丁, 防止失败补丁重复加载
                            // SophixManager.getInstance().cleanPatches();
                        } else {
                            // 其它错误信息, 查看PatchStatus类说明
                        }
                    }
                }).initialize();
SophixManager.getInstance().queryAndLoadNewPatch();

7.在SDK下载处下载SophixPatchTool
通过SophixPatchTool生成补丁包,根据图形界面操作即可

8.在后台发布,测试补丁是否可用。




你可能感兴趣的:(Android,hotfix,热修复)