蒲公英官网:https://www.pgyer.com/
首先弄明白蒲公英平台的SDK更新机制:蒲公英 - 文档中心 - SDK 自动更新机制 (pgyer.com)
下面直接开始代码操作
1.添加蒲公英maven库
maven { url "https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer/master" }
2.添加蒲公英依赖
implementation 'com.pgyersdk:sdk:3.0.10'
3.新建myAplication
import android.app.Application; import android.content.Context; import com.pgyersdk.Pgyer; import com.pgyersdk.PgyerActivityManager; import com.pgyersdk.crash.PgyCrashManager; import com.pgyersdk.crash.PgyerCrashObservable; import com.pgyersdk.crash.PgyerObserver; public class myAplication extends Application { @Override public void onCreate() { super.onCreate(); PgyCrashManager.register(); PgyerCrashObservable.get().attach(new PgyerObserver() { @Override public void receivedCrash(Thread thread, Throwable throwable) { } }); PgyerActivityManager.set(this); } @Override protected void attachBaseContext(Context context) { super.attachBaseContext(context); Pgyer.setAppId("xxxxxxxxx"); //这个就是蒲公英平台你发布的APP的key,没有发布应用的需要发布第一版查看 } }
4.在AndroidManifest.xml添加myAplication
添加相关权限
<!-- 必选--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取网络状态 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- 网络通信--> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
5.添加请求是否更新的代码
这部分代码一般都是放在APP打开的首页,如果有新版本一打开APP就提示更新
/** 检测新版本 **/ new PgyUpdateManager.Builder() .setForced(true) //设置是否强制更新 .setUserCanRetry(false) //失败后是否提示重新下载 .setDeleteHistroyApk(true) // 检查更新前是否删除本地历史 Apk .register();