Android应用几乎
使用 简单,只 需一 句 代 码即可 ;- 简单轻量,
不 依 赖第三 方 库; 不 需要 服 务端写 接 口 (只 需要 在 服 务端放 一 个固定 格式 的 json);兼 容 最低 到 android 4.0,可 后 台下 载apk,在 通知 栏显示 下 载进度 ;不 依 赖引用 Activity的 context,使用 Application的 context,避免内 存 泄露。
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
...
implementation 'com.github.JebySun:AppUpdater:1.1.2'
}
AppUpdater.with(this)
.setHostUpdateCheckUrl("https://gitee.com/jebysun/website/raw/master/github/app_latest_version.json")
.check();
{
"versionCode":10,
"versionName":"1.0.0",
"fileSize":"79.15MB",
"apkUrl":"http://www.lofter.com/rsc/android/lofter.apk",
"required":false,
"releaseDate":"2017-02-12 12:45:20",
"releaseNotes":["新 版本 特性 新 版本 特性 新 版本 特性 ,非常 推荐下 载体验;", "描述版本 信 息 ,方便 用 户选择是否 立 即 下 载更新 ;", "性能 优化和 BUG修 复。"]
}
JSON
字 段 说明
含义 | 说明 | ||
---|---|---|---|
versionCode | number | ||
versionName | string | ||
fileSize | string | apk |
|
apkUrl | string | apk |
|
required | boolean | 如果 |
|
releaseDate | string | 发布 |
|
releaseNotes | array |
做完
另外,如果
/**
* 手 动触发检查更新
*/
private void checkNewVersion() {
AppUpdater.with(this)
// 手 动强制 检查更新
.setForceMode(true)
.setHostUpdateCheckUrl("https://gitee.com/jebysun/website/raw/master/github/app_latest_version.json")
// 检查结果回 调
.setUpdateCheckCallback(new UpdateCheckCallback() {
@Override
public void onSuccess(boolean hasNew) {
if (!hasNew) {
Toast.makeText(MainActivity.this, "你已经安装 最新 版本 ", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(String msg) {
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
})
.check();
}
- 检查
版本 前 ,注意 需要 先 请求本 地文 件 读写权限。 - 如果按照
以上 说明你没成功 ,检查请求的 json数 据 格式 ,参考 项目app模 块的使用 示 例 。
Copyright 2017 JebySun
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.