系统版本CentOS7.9.2009
1.环境配置
1.1安装jdk,gradle要求至少是jdk8或以上版本:
$java -version
java version "1.8.0_121"
确认jdk版本,如未安装,请参考
1.2安装gradle,下载地址:https://gradle.org/releases/
这里选择当前最新版v6.8.3:
wget https://services.gradle.org/distributions/gradle-6.8.3-bin.zip
unzip gradle-6.8.3-bin.zip
mv gradle-6.8.3/ /usr/local/
配置环境变量:
export PATH=$PATH:/usr/local/gradle-6.8.3/bin
使环境变量生效:
source /etc/profile
验证gradle:
# gradle -v
------------------------------------------------------------
Gradle 6.8.3
------------------------------------------------------------
Build time: 2021-02-22 16:13:28 UTC
Revision: 9e26b4a9ebb910eaa1b8da8ff8575e514bc61c78
Kotlin: 1.4.20
Groovy: 2.5.12
Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM: 1.8.0_282 (Red Hat, Inc. 25.282-b08)
OS: Linux 3.10.0-1160.15.2.el7.x86_64 amd64
1.3安装androidsdk
下载最新版的androidsdk,下载地址https://developer.android.com/studio,找到Command line tools only,下载对应系统版本的commandlinetools:
wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
unzip commandlinetools-linux-6858069_latest.zip
mv cmdline-tools/ /usr/local/
配置环境变量:
export PATH=$PATH:/usr/local/gradle-6.8.3/bin:/usr/local/cmdline-tools/bin
使环境变量生效:
source /etc/profile
验证androidsdk:
# sdkmanager --sdk_root=/usr/local/cmdline-tools/ --version
3.0
注意:
sdkmanager命令需要根据你的安装目录来执行,并且根据项目情况安装相应的包,具体可以在打包时看输出提示,因不能穷举,这里就简单举例说明一下:
sdkmanager --sdk_root=/usr/local/cmdline-tools/ "platform-tools" "platforms;android-30" "build-tools;30.0.3"
上面命令表示安装了这些内容:“platform-tools” “platforms;android-30” “build-tools;30.0.3”
2.配置jenkins
进入系统管理——全部工具配置:
配置gradle:
保存退出后,就可以新建项目了。
点击新建任务:
输入项目名称,选择构建一个自由风格的软件项目:
进入后配置项目:
指定源码库,并配置登陆鉴权,并注意选择项目分支:
构建选择gradle脚本:
输入gradle版本和脚本内容:
构建后归档:
配置归档参数,根据具体情况选择apk的路径,这里jenkins比较智能,它会自动扫描工程目录,寻找apk文件:
应用保存后,回到工程点击立即构建:
构建成功后,在工程首页可以看到apk,并可以下载使用:
3.注意事项
3.1如果项目需要其它版本的jdk,并且系统中安装了多个jdk版本,修改默认jdk使用下面的命令:
# alternatives --config java
There is 1 program that provides 'java'.
Selection Command
-----------------------------------------------
*+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64/jre/bin/java)
Enter to keep the current selection[+], or type selection number:
3.2gradle在打包时,可以根据需要设置不同的打包参数,这里举几个例子做简单说明,如需更详细说明,请参考官方文档https://docs.gradle.org/current/userguide/userguide.html
gradle clean #清除build文件夹
gradle build #检查依赖并编译打包
gradle assembleDebug #编译并打Debug包
gradle assembleRelease #编译并打Release的包
3.3对于gradle编译打包,需要了解gradle项目的几个配置文件,如build.gradle,gradle.properties,local.properties,settings.gradle等,由于笔者水平有限,暂时还没有完全学会,下面给出几个链接供读者参考: