Android Jenkins 自动化部署
2018-12-24 本文已影响7人
hewking
项目配置
jenkins 通过war 包在tomcat 中运行。最终生成的有关build 的数据都在以下路径
cd /root/.jenkins/
遇到的问题
org.gradle.launcher.daemon.client.DaemonDisappearedException: Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
在linux 直接gradle编译没有出现问题,但是在jenkins 出现了。很疑惑好在在starckoverflow 上面又同样的问题并有详细的描述,不得不说,除了问题一定要养成一个惯性,第一在stackoverflow里面找。
解决方法禁用deamon gradle properites
org.gradle.daemon=false
step 'Invoke Gradle script' changed build result to FAILUREBuild step 'Invoke Gradle script' marked build as failure
这一个问题也是很坑得,一直以为是jenkins配置问题,最终发现这只是异常的结果,问题出现在抛出异常的任务,所以这个任务是啥呢?
:app:lintVitalReleaseBuild
既然找到了问题所在,那就解决它吧,一番搜索发现果然有人遇到过这个问题,解决如下:
在对应的app 的build.gradle android{}中添加代码
//添加如下配置就ok了
lintOptions {
checkReleaseBuilds false
abortOnError false
}
一个一个的问题真是让人深受大吉。。在windows 上分分钟完事儿。因为是用的github 上的项目,本来以为直接在服务器上更改build.gradle 其实是没用的,因为jenkins build的时候回从github拉取最新,所以是更改回被覆盖。所以修改直接修改仓库并且push到github,或者直接github修改
又来一问题 如下
app:transformClassesWithDexBuilderForReleaseBuild
windows jenkins 配置
相对Linxu wndiows 相对简单,需要注意的一点是,在开了tomcat之后如果没有设置本地ANDROID_HOME 环境变量。会提示找不到sdk,再设置之后还需要重启tomcat。否则不会生效