1、安装android-sdk
在linux服务器安装sdk
java
wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgzlinux
tar -zxvf android-sdk_r24.4.1-linux.tgz
安装须要的sdk版本android
cd android-sdk-linux/tools ./android list sdk -a 查看可见的sdk版本docker
./android update sdk -a -u -t [序号] (-a 列出全部sdk版本 -u 无ui模式 -t 指定安装版本)下载指定版本
2、生效环境变量
vim /etc/profile #结尾加上 export ANDROID_HOME=“你的sdk路径"
source /etc/profile
3、gradle编译
cd /XXX/XXX #切换到项目路径
gradle clean assemblePRODebug —no-daemon #编译指定渠道的debug包shell
===============================================================vim
遇到的问题:服务器
例如:export ANDROID_HOME=/var/jenkins_home/android-sdk-linux app
export GRADLE_HOME=/var/jenkins_home/gradle-3.3 jvm
export PATH=$PATH:/var/jenkins_home/gradle-3.3/bingradle
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.jvmargs=-Xmx4096m
-XX:MaxPermSize=2048m
开始是成功了,几回以后开始又失败。加大分配内存同样失败,拖的jenkins容器重启。
看了gradle官网,说持续集成环境不要使用线程保护。
尝试把以上配置改为:
org.gradle.daemon=false
org.gradle.parallel=true
#org.gradle.jvmargs=-Xmx4608m
#-XX:MaxPermSize=2048m
android.useDeprecatedNdk=true
提示Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed) 怀疑配置文件没生效,
把编译命令加上—no-daemon 编译成功。
================================================================
4、提取构建的apk
[Jenkins]—[构建后操做]—[Archive the artifacts]模块。
指定路径文件便可
例如:XXX/build/outputs/apk/*.apk
5、集成火线静态扫描
把火线官网的jar包下载下来,放到jenkins可读到的目录
[jenkins]— [构建]—[execute shell]里加上扫描命令便可。
-s指定扫描目录,-n指定报告名称, -r指定存放位置
例如:java -jar XXXX/fireline.jar -s=${WORKSPACE}/XXX -n=android_test_${BUILD_NUMBER} -r=${WORKSPACE}/report6、发布扫描报告[Jenkins]—[构建后操做]—[Publish HTML reports]模块。 指定报告所在路径便可。⚠️ 因为火线报告使用了JavaScript,这里须要设置jenkins容许脚本执行(allow-scripts)。解决办法以下: 【jenkins】->【系统管理】->【脚本命令行】,在文本框中输入: System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "") 而后点击运行,从新执行一下build任务便可。