gradle
allprojects {
repositories {
...
maven {
url "http://maven.aliyun.com/nexus/content/repositories/releases"
}
...
}
}
app gragle
dependencies {
...
compile 'com.aliyun.ams:alicloud-android-hotfix:3.3.5'
...
}
Admanifest.xml文件配置
写在application下面
添写自己对应的value
编写sophixapplication
import android.annotation.SuppressLint;
import android.app.Application;
import android.content.Context;
import android.content.pm.PackageManager;
import android.util.Log;
import androidx.annotation.Keep;
import androidx.multidex.MultiDex;
import com.taobao.sophix.PatchStatus;
import com.taobao.sophix.SophixApplication;
import com.taobao.sophix.SophixEntry;
import com.taobao.sophix.SophixManager;
import com.taobao.sophix.listener.PatchLoadStatusListener;
public class SophixStubApplication extends SophixApplication {
private final String TAG = "SophixStubApplication";
// 此处SophixEntry应指定真正的Application,并且保证RealApplicationStub类名不被混淆。
@Keep
@SophixEntry(MApplication.class)
static class RealApplicationStub {}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
// 如果需要使用MultiDex,需要在此处调用。
MultiDex.install(this);
initSophix();
}
@SuppressLint("WrongConstant")
private void initSophix() {
String appVersion = "2.1";
try {
appVersion = this.getPackageManager()
.getPackageInfo(this.getPackageName(), 20)
.versionName;
} catch (Exception e) {
}
final SophixManager instance = SophixManager.getInstance();
instance.setContext(this)
.setAppVersion(appVersion)
.setSecretMetaData("APP ID", "App Secret", "RSA密钥")
.setEnableDebug(true)
.setEnableFullLog()
.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) {
Log.i(TAG, "sophix load patch success!");
} else if (code == PatchStatus.CODE_LOAD_RELAUNCH) {
// 如果需要在后台重启,建议此处用SharePreference保存状态。
Log.i(TAG, "sophix preload patch success. restart app to make effect.");
}
}
}).initialize();
}
}
在我们自己application的oncreate中加入这句代码
@Override
public void onCreate() {
super.onCreate();
...
...
SophixManager.getInstance().queryAndLoadNewPatch();
}
下载补丁打包工具
官方地址下载
然后选择全量发布就行了



