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任務便可。