Jenkins配置自动打包 -- 遇到的坑
1.把gradle路径设为本地路径
Jenkins部署在远程linux服务器上,使用git将代码下载到服务器路径下后,无法使用gradle命令
因为默认配置都是gradle同步时 实时从网上下载,进入gradle-wrapper.properties可查看配置:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
远程服务器网速慢,gradle下载不下来
解决方案:本地下载好gradle-2.14.1-all.zip,copy到远程服务器上,在gradle-wrapper.properties文件中修改路径为本地路径:
#distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
distributionUrl=file\:/jenkins/jenkins_home/workspace/uicase/gradle/wrapper/gradle-2.14.-all.zip
2.执行./gradlew 仍错误,报错
“Error:Gradle distribution 'file\:/jenkins/jenkins_home/workspace/uicase/gradle/wrapper/gradle-2.14.1-all.zip' contains too many directories. Expected to find exactly 1 directory.”
找了很多资料,发现问题在:
gradle-2.14.1-all.zip 为我本地mac本下载后再拷到服务器上,mac的safari浏览器下载完后自动解压了,因为需要zip包所以我手动再压缩成zip包,OSX 自动生成许多__MACOSX 文件夹
解决方案:
在服务器上找到zip所在文件夹下,输入以下命令:
zip -d gradle-2.14.1-all.zip __MACOSX/*,再重新运行./gradlew,问题解决。
感谢:http://blog.csdn.net/daoxiaomianzi/article/details/60589690
3.Terminal执行./gradlew clean成功,但在jenkins脚本中执行./gradlew clean失败
报错信息:
* What went wrong:
A problem occurred configuring root project 'BloodGlucose'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
解决方案:
解决:在系统管理->系统设置 -> 全局属性 -- Environment variables里面新增一个全局环境变量,配置ANDROID_HOME即可。
感谢http://blog.csdn.net/hwhua1986/article/details/48155163
4../gradlew clean成功,执行./gradlew assembleDebug 失败
①报错信息:
* What went wrong:
Execution failed for task ':uitest:mergeDebugResources'.
> Error: java.lang.RuntimeException: Crunching Cruncher drop_down_list_arrow.png failed, see logs
看到网上有个盆友说,是因为png文件不符合标准,替换即可。于是找出这个文件在哪,逐条删除。。
[root@LetvWebServer-8CB344 BasicSample]# find . -name drop_down_list_arrow.png
./uitest/build/intermediates/exploded-aar/cn.trinea.android.common/trinea-android-common/4.2.15/res/drawable-hdpi/drop_down_list_arrow.png
./uitest/build/intermediates/exploded-aar/cn.trinea.android.common/trinea-android-common/4.2.15/res/drawable-mdpi/drop_down_list_arrow.png
./uitest/build/intermediates/exploded-aar/cn.trinea.android.common/trinea-android-common/4.2.15/res/drawable-ldpi/drop_down_list_arrow.png
但是重新执行./gradlew assembleDebug仍然报错,这些图片文件在build的过程中再次生成,但又阻碍继续build。。
再次寻觅答案~~
后找到http://blog.csdn.net/q9104422999/article/details/53736027
解决方案:
在build.gradle文件中加入下面两行(标黄)即可:
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
②解决完上面的问题,继续运行,仍报错
报错信息:
* What went wrong: Execution failed for task ':uitest:processDebugResources'. > com.android.ide.common.process.ProcessException: Failed to execute apt
...... Caused by: org.gradle.process.internal.ExecException: Process 'command '/data/android-sdk/r24.4.1/build-tools/23.0./aapt'' finished with non-zero exit value
这个问题貌似很多人遇到,但是解决办法试了都不管用~~~ 最后发现一个靠谱的答案 ~~ 因为确实libz.so.1文件~~
http://stackoverflow.com/questions/31868406/aapt-finished-with-non-zero-exit-value-127
但是这个答主所在服务器为ubuntu,下载包的命令在centos上并不管用,也搜寻不到相关的包。
后再次寻觅~~ 终于寻找到安装缺失包的方法~~
解决方案:
[root@Sample]# yum whatprovides libz.so.1
......
zlib-1.2.3-29.el6.i686 : The zlib compression and decompression library
Repo : CentOS-os
匹配来自于:
Other : libz.so.1
————————————————————
查找到相关包:zlib-1.2.3-29.el6.i686
[root@Sample]#sudo yum install zlib-1.2.3-29.el6.i686
安装成功后,重新./gradlew assembleDebug ~ 成功~~
Jenkins配置自动打包 -- 遇到的坑的更多相关文章
- 总结jenkins Android自动打包遇到的坑
一.ndk-build报错 [root@hejianlai-jenkins LearnGradle]# ndk-build /usr/local/android-ndk-r8/ndk-build: / ...
- jenkins配置自动发送邮件,抄送
1.安装插件.系统管理-安装插件:可选插件:搜索Email Extension 2.设置全局变量.系统管理-系统设置:a.Jenkins Location 设置发送方邮件--- b.Extended ...
- docker 运行jenkins及vue项目与springboot项目(二.docker运行jenkins为自动打包运行做准备)
docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...
- webpack配置自动打包重新运行npm run dev出现报错
webpack配置自动打包重新运行npm run dev出现报错 运行npm run dev出现如下报错 Listening at http://localhost:8080(node:2328) U ...
- [原] Jenkins Android 自动打包配置
一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳 ...
- [原] Jenkins Android 自动打包配置(转)
一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳 ...
- Jenkins Android 自动打包配置
一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳 ...
- DevOps系列——Jenkins/Gitlab自动打包部署
前面只说了DevOps的两个基础组件Jenkins和GitLab,客官也不要着急,我们玩就玩的深入一点,Gitlab和Jenkins的各种配置和 插件很多,也够啃一阵子的,不要照着操作一通就感觉万事大 ...
- Jenkins 配置自动合并 release 分支到 master 分支
本文告诉大家如何在 Jenkins 配置合并到 release 的内容自动合并到 gitlab 的 master 分支 首先需要两个仓库,一个是 gitlab 的仓库,另一个是 Jenkins 的仓库 ...
随机推荐
- Pappus一阶矩公式
- mysql主从复制Error1205
主从架构.今天发现从库SQL线程报错,主从复制停止了.查看错误发现: Last_SQL_Errno: 1205 Last_SQL_Error: Slave SQL thread ...
- WebLogic 11gR1修改jdk版本
WebLogic 11gR1默认是支持jdk1.6的 我们可以进入到E:\weblogic\user_projects\domains\base_domain\bin中的修改setDomainEnv. ...
- 用JAVA实现大文件上传及显示进度信息
一. 大文件上传基础描述: 各种WEB框架中,对于浏览器上传文件的请求,都有自己的处理对象负责对Http MultiPart协议内容进行解析,并供开发人员调用请求的表单内容. 比如: Spring 框 ...
- 防火墙内JVisualVM连接jstatd解决方案
jstatd启动后会打开两个端口,其中一个端口可通过参数“-p”指定,如果不指定默认为1099,另一个是一个随机端口,不能参数指定: # netstat -lpnt|grep jstatd tcp ...
- C#程序集问题:混合模式程序集是针对“v2.0.50727”版的运行时生成的.....
今天在把以前写的代码生成工具从原来的.NET3.5升级到.NET4.0,同时准备进一步完善,将程序集都更新后,一运行程序在一处方法调用时报出了一个异常: 混合模式程序集是针对“v2.0.50727”版 ...
- C++编译器详解(一)
C/C++编译器-cl.exe的命令选项 和在IDE中编译相比,命令行模式编译速度更快,并可以避免被IDE产生的一些附加信息所干扰,本文将介绍微软C/C++编译器命令行模式设定和用法. 1.设置环境变 ...
- 2018-04-11 activity周期
android相机开发 1.Android wifi热点连接过程 2.bindservice和AIDLhttps://blog.csdn.net/zhou_wenchong/article/detai ...
- C++指针二(易错模型)
规则一:Main(主调函数)分配的内存(在堆区,栈区.全局区)都可以在被调用函数里使用.如果在被调用函数里面的临时区(栈)分配内存,主调用函数是不能使用的. #include "stdio. ...
- stm32的gpio函数介绍
一.gpio_init函数 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) 调用时的格式一般是例如 RCC ...