Android环境变量
系统管理 - > 全局属性-> 配置环境变量
![](https://img.haomeiwen.com/i7567917/cb0d7fa1cd488df4.png)
/Users/superman/Library/Android/sdk
系统管理 - > 全局工具配置-> 配置JDK、gradle,git等
![](https://img.haomeiwen.com/i7567917/1bbb70f066c3c9ee.png)
/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
![](https://img.haomeiwen.com/i7567917/cb953117bfa1fd79.png)
/usr/local/bin/git
![](https://img.haomeiwen.com/i7567917/e400a17a9dc5f799.png)
我此处用的是6.5版本,根据自己APP来设置
/Users/superman/.gradle/wrapper/dists/gradle-6.5-all/2oz4ud9k3tuxjg84bbf55q0tn/gradle-6.5
通用
![](https://img.haomeiwen.com/i7567917/f915cb306ca09004.png)
留8个包。。。
源码管理
添加账号就行了
修改添加的账号:系统管理 -> Manage Credentials Configure credentials
构建触发器
![](https://img.haomeiwen.com/i7567917/9dd8b46affd5d631.png)
每5分钟检测一次代码有新改动就构建
H/5 * * * *
周一到周五每天10点到晚上8点每隔4小时构建一次
H 10-20/4 * * 1-5
![](https://img.haomeiwen.com/i7567917/5bfef83857eeae42.png)
第一个是代表分钟 H 表示随机
第二个是代表小时 9-15/4 9点到下午三点期间的每隔4个小时
第三个是代表天 * 任意一天
第四个是代表月份 1-11 表示1到11月份
第五个是代表星期 1-5 表示工作日
没有用到 H 随机的话,不要加括号
H(9-18) 9点到18点 中随机的一个点
eg:
* * * * * 表示任何一个时间段,同一个时间都可能会触发执行。不建议使用
H/30 * * * * 表示每天每隔 30分钟构建一次
H 4-19/3 * * * 表示,一天的凌晨点到下午7点,每隔3个小时构建一次
* * 3-5 * * 表示,每个月的3号,4号,5号 都会被构建,具体时间未知
* * * * 1-5 表示,工作日时会构建,具体时间未知
H/30 8-19/3 1-28 1-11 1-5 表示 在1月到11月中的1号-28号,每个工作日,早晨的8点到下午7点每隔3.5个小时会触发构建
构建
![](https://img.haomeiwen.com/i7567917/e4df463d795bcb26.png)
两种方式上传安装包到蒲公英
第一种:
![](https://img.haomeiwen.com/i7567917/53725201f50f3358.png)
第二种:
使用shell命令:
curl -F "file=@/tmp/example.apk" -F "uKey=" -F "_api_key=" https://qiniu-storage.pgyer.com/apiv1/app/upload
![](https://img.haomeiwen.com/i7567917/f6a98184815617d6.png)
curl -F "file=@apk/com.bfonline.online1.0.0_server-release.apk" -F "uKey=c263d105c08915a0fb1fa7dec613ef7a" -F "_api_key=5ef6d1c5c5bc931fc5245acdecfb128d" https://qiniu-storage.pgyer.com/apiv1/app/upload
构建后操作
![](https://img.haomeiwen.com/i7567917/30cff23ca442c863.png)
首先在gradle里配置打包完移动到apk目录下
applicationVariants.all {
//判断是release还是debug版本
def buildType = it.buildType.name
def fileName
//下面的channel是获取渠道号
def channel = "server"
//只对Release包起作用,如果不是Release包则不变更输出路径,否则可能导致AS无法自动安装debug包。
if (buildType == "release") {
it.getPackageApplication().outputDirectory = new File(project.rootDir.absolutePath + "/apk")
}
it.outputs.each {
//只对Release包起作用,如果不是Release包则不变更名称。
if (buildType == "release") {
//我此处的命名规则是:渠道名_项目名_版本名_创建时间_构建类型.apk
fileName = "com.bfonline.online${defaultConfig.versionName}_${channel}-${buildType}.apk"
//重新对apk命名。
it.outputFileName = fileName
}
}
}
企业微信通知
![](https://img.haomeiwen.com/i7567917/7e46696e62b777e8.png)
也可以在蒲公英中设置webhook
网友评论