目录
前言
作为一名前后台兼app开发人员,我发现好多做的app并没有上架到商店中,因为是定制的app,受用特定人群限制,都是直接放项目里完事,每次更新都是重新放上去,极为繁琐。还有一点就是通过测试后到客户手机上后仍然会出现其奇怪怪的问题,因为机型和安卓的版本问题所以很难发现问题所在,于是在这样的情况下,我萌生了开发一个app架包管理平台来实现app的更新和报错日志的收集。
一、项目效果展示
项目后端采用springboot,前端使用了vue-element-template,app的module使用了androidx的databinding模式开发,项目属于初级阶段,后期会增加一些更加实用的功能。
下面看看具体使用演示app端:
appModule
web端演示:
架包管理平台演示
二、app端module使用示例
1.引入module
将module引入app中后在application调用
@Override
public void onCreate() {
super.onCreate();
initCrash();
}
private void initCrash() {
MsqTool.init(this);
ErrorConfig.Builder.create()
.reqURL(MyUtils.getPropertiesStr(Utils.getContext(),"vcUrl"))
.reqIP(MyUtils.getPropertiesStr(Utils.getContext(),"vcIp"))
.appKey(MyUtils.getPropertiesStr(Utils.getContext(),"appKey"))
.backgroundMode(ErrorConfig.BACKGROUND_MODE_SILENT) //背景模式,开启沉浸式
.enabled(true) //是否启动全局异常捕获
.trackActivities(true) //是否跟踪Activity
.minTimeBetweenCrashesMs(2000) //崩溃的间隔时间(毫秒)
.restartActivity(GuideActivity.class) //重新启动后的activity
.errorActivity(MsqErrorActivity.class) //崩溃后的错误activity
.apply();
}
assets下增加 info.properties,内容如下:
#版本控制地址 appkey指的是视频中的appkey,新增项目后复制过来,否则无法使用
appKey=3d89d7e1d920c5f43b0d0f29d30f8de9
vcUrl=https://www.msq.ink/vc/
vcIp = https://www.msq.ink/
调用代码如下:
package com.home.lh.utils.system;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
public class MyUtils {
/**
* 获取properties中数据
*
* @param c
* @param s
* @return
*/
public static String getPropertiesStr(Context c, String s) {
String url = null;
Properties properties = new Properties();
try {
properties.load(c.getAssets().open("info.properties"));
url = properties.getProperty(s);
} catch (Exception e) {
e.printStackTrace();
}
return url;
}
}
调用更新需要在activity中调用代码:
MsqTool.isUpdate(this);
我的module插件下载地址
联想乐云https://lecloud.lenovo.com/share/3YWWZnAwkzGdvbxrN
web端访问项目地址架包管理平台https://www.msq.ink/vcapk/
测试用户名custom 密码123456
总结
以上就是我的 架包管理系统的 简介,后续会接着更新增加更多实用的功能。