热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[开发日志]androidappJenkins配置说明

添加构建参数:选择参数化构建过程:image.pngimage.png源码管理配置:直接使用项目仓库ssh地址构建环境配置image.pngimage.pngbuildname是用

添加构建参数:

选择参数化构建过程:

《[开发日志]android app Jenkins 配置说明》 image.png
《[开发日志]android app Jenkins 配置说明》 image.png

源码管理配置:

直接使用项目仓库 ssh 地址

构建环境配置

《[开发日志]android app Jenkins 配置说明》 image.png
《[开发日志]android app Jenkins 配置说明》 image.png

build name 是用来在 Jenkins网站显示的。

构建配置

配置执行脚本:

作用是删除build下的目录,清理环境。

echo "============================= Clean android/app/build dir start ============================="
TARGET_FILE="$WORKSPACE/app/build/"
if [ -e "$TARGET_FILE" ]; then
echo "/app/build/ exists."
rm -rf $TARGET_FILE
else
echo "/app/build/ does not exists."
fi
echo "============================= Clean android/app/build dir end ============================="

《[开发日志]android app Jenkins 配置说明》 image.png

采用 gradle 脚本编译,导入参数 API_MODE

编译后配置:

《[开发日志]android app Jenkins 配置说明》 image.png

上传代码apk 文件到蒲公英。显示蒲公英二维码。

在android项目 build.gradle 文件中中需要配置, 接收 API_MODE 参数和默认的值。

代码如下:

定义api环境枚举, ApiEnvEnum

enum ApiEnvEnum {
DEV(1), PRE_RELEASE(2), ONLINE(3)
ApiEnvEnum(int value) {
this.value = value
}
private final int value
int getValue() {
value
}
}
/**
* 直接运行的编译环境在这里改动。 也可以在 gradle 编译的时候加参数 -PAPI_MODE={value}
* {value} 可以是 DEV, PRE_RELEASE, ONLINE
*/
ApiEnvEnum defApiEnv = ApiEnvEnum.DEV

在android 节点下配置:

def envStr = project.hasProperty('API_MODE') ? API_MODE : "${defApiEnv.toString()}”

android defaultConfig节点下配置:


for (ApiEnvEnum anEnum : ApiEnvEnum.values()){
buildConfigField("int", "API_MODE_${anEnum.toString()}", "${anEnum.value}")
}
buildConfigField("int", "API_MODE", "${(envStr as ApiEnvEnum).value}”)

在BuildeConfig中生成api环境,常量和当前环境值。

友盟错误统计的key ,推荐更具网络环境不同配置不同的key ,避免开发错误,上传到线上错误统计账号。

可以配置如下:

def umengDevKey = "5a790c9xxxxxxxx000f6"
def umengReleaseKey = “5a016xxxxxxxxx4127000099"
manifestPlaceholders = [
UMENG_APPKEY : ApiEnvEnum.ONLINE.toString() == envStr ? umengReleaseKey : umengDevKey]

推荐阅读
author-avatar
格个蝎子_844
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有