標籤:api play stat 詳細 cat version key his listener
1.主流的熱修複是 QQ 、和阿里百川
2.我建議使用阿里百川的原因第一:團隊在DingTalk有專門的客服 二、對於新手來說非常方便
3.操作步驟:阿里百川的api文檔很詳細 我只說一些坑:
1》下面的初始化只能放在oncreat()中 放在其他檔案中沒什麼作用
private void initHotfix() {
String appVersion;
try {
appVersion = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName;
} catch (Exception e) {
appVersion = "1.0.0";
}
// initialize最好放在attachBaseContext最前面,初始化直接在Application類裡面,切勿封裝到其他類
SophixManager.getInstance().setContext(this)
.setAppVersion(appVersion)
.setAesKey(null)
.setSecretMetaData(APPID, APPSECRET, RSASECRET)
.setEnableDebug(true)
.setPatchLoadStatusStub(new PatchLoadStatusListener() {
@Override
public void onLoad(final int mode, final int code, final String info, final int handlePatchVersion) {
String msg = new StringBuilder("").append("Mode:").append(mode)
.append(" Code:").append(code)
.append(" Info:").append(info)
.append(" HandlePatchVersion:").append(handlePatchVersion).toString();
Log.d(TAG, "onCreate://...... " + msg.toString());
if (msgDisplayListener != null) {
msgDisplayListener.handle(msg);
} else {
cacheMsg.append("\n").append(msg);
}
//code參數
// 補丁載入回調通知
if (code == PatchStatus.CODE_LOAD_SUCCESS) {
// 表明補丁載入成功
} else if (code == PatchStatus.CODE_LOAD_RELAUNCH) {
// 表明新補丁生效需要重啟. 開發人員可提示使用者或者強制重啟;
// 建議: 使用者可以監聽進入後台事件, 然後調用killProcessSafely自殺,以此加快應用補丁,詳見1.3.2.3
} else {
// 其它錯誤資訊, 查看PatchStatus類說明
}
}
}).initialize();
/
SophixManager.getInstance().queryAndLoadNewPatch();
}
2》.使用補丁工具打包 先產生jar包再產生log日誌 要不log日誌為空白,
3》.打完補丁的測試 如果提示包名錯誤檢查步驟1》
Android 熱修複的相關總結(主要是阿里百川的)