-
-
Notifications
You must be signed in to change notification settings - Fork 406
如何引用
xuexiangjys edited this page Mar 26, 2023
·
30 revisions
不习惯或者看不懂文档的,我同样也提供了一个系列的视频教程给大家。
视频教程的地址:
https://space.bilibili.com/483850585/channel/detail?cid=164280
1.先在项目根目录的 build.gradle 的 repositories 添加:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
2.然后在应用项目(一般是app)的 build.gradle
的 dependencies 添加:
以下是版本说明,选择一个即可。
- androidx版本:2.0.0及以上
dependencies {
...
// androidx版本
implementation 'com.github.xuexiangjys:XUpdate:2.1.4'
}
- support版本:1.1.6及以下
dependencies {
...
// support版本
implementation 'com.github.xuexiangjys:XUpdate:1.1.6'
}
3.在Application进行初始化配置:
【注意】这里需要注意的是,IUpdateHttpService
必须设置,否则框架将无法正常使用!IUpdateHttpService
的实现可参照Demo中的实现
XUpdate.get()
.debug(true)
.isWifiOnly(true) //默认设置只在wifi下检查版本更新
.isGet(true) //默认设置使用get请求检查版本
.isAutoMode(false) //默认设置非自动模式,可根据具体使用配置
.param("versionCode", UpdateUtils.getVersionCode(this)) //设置默认公共请求参数
.param("appKey", getPackageName())
.setOnUpdateFailureListener(new OnUpdateFailureListener() { //设置版本更新出错的监听
@Override
public void onFailure(UpdateError error) {
if (error.getCode() != CHECK_NO_NEW_VERSION) { //对不同错误进行处理
ToastUtils.toast(error.toString());
}
}
})
.supportSilentInstall(true) //设置是否支持静默安装,默认是true
.setIUpdateHttpService(new OKHttpUpdateHttpService()) //这个必须设置!实现网络请求功能。
.init(this);
【注意】:如果出现任何问题,可开启debug模式来追踪问题。如果你还需要将日志记录在磁盘上,可实现以下接口
XUpdate.get().setILogger(new ILogger() {
@Override
public void log(int priority, String tag, String message, Throwable t) {
//实现日志记录功能
}
});
想要更快地使用XUpdate,降低集成的难度,支持断点续传下载等拓展功能,可以尝试使用XUpdateAPI.
-keep class com.xuexiang.xupdate.entity.** { *; }
//注意,如果你使用的是自定义Api解析器解析,还需要给你自定义Api实体配上混淆,如下是本demo中配置的自定义Api实体混淆规则:
-keep class com.xuexiang.xupdatedemo.entity.** { *; }