天天看點

阿裡百川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.添加需要的權限

<! -- 網絡權限 -->

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<! -- 外部存儲讀權限 -->

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

4.在AndroidManifest.xml中間的application節點下添加如下配置:

<meta-data

android:name="com.taobao.android.hotfix.IDSECRET"

android:value="App ID" />

<meta-data

android:name="com.taobao.android.hotfix.APPSECRET"

android:value="App Secret" />

<meta-data

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.在背景釋出,測試更新檔是否可用。