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配置自动打包 -- 遇到的坑的更多相关文章

  1. 总结jenkins Android自动打包遇到的坑

    一.ndk-build报错 [root@hejianlai-jenkins LearnGradle]# ndk-build /usr/local/android-ndk-r8/ndk-build: / ...

  2. jenkins配置自动发送邮件,抄送

    1.安装插件.系统管理-安装插件:可选插件:搜索Email Extension 2.设置全局变量.系统管理-系统设置:a.Jenkins Location 设置发送方邮件--- b.Extended ...

  3. docker 运行jenkins及vue项目与springboot项目(二.docker运行jenkins为自动打包运行做准备)

    docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...

  4. webpack配置自动打包重新运行npm run dev出现报错

    webpack配置自动打包重新运行npm run dev出现报错 运行npm run dev出现如下报错 Listening at http://localhost:8080(node:2328) U ...

  5. [原] Jenkins Android 自动打包配置

    一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳 ...

  6. [原] Jenkins Android 自动打包配置(转)

    一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳 ...

  7. Jenkins Android 自动打包配置

    一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳 ...

  8. DevOps系列——Jenkins/Gitlab自动打包部署

    前面只说了DevOps的两个基础组件Jenkins和GitLab,客官也不要着急,我们玩就玩的深入一点,Gitlab和Jenkins的各种配置和 插件很多,也够啃一阵子的,不要照着操作一通就感觉万事大 ...

  9. Jenkins 配置自动合并 release 分支到 master 分支

    本文告诉大家如何在 Jenkins 配置合并到 release 的内容自动合并到 gitlab 的 master 分支 首先需要两个仓库,一个是 gitlab 的仓库,另一个是 Jenkins 的仓库 ...

随机推荐

  1. vue 开发系列(七) 路由配置

    概要 用 Vue.js + vue-router 创建单页应用,是非常简单的.使用 Vue.js ,我们已经可以通过组合组件来组成应用程序,当你要把 vue-router 添加进来,我们需要做的是,将 ...

  2. vue 开发系列(一) vue 开发环境搭建

    概要 目前前端开发技术越来越像后台开发了,有一站式的解决方案. 1.JS包的依赖管理像MAVEN. 2.JS代码编译打包. 3.组件式的开发. vue 是一个前端的一站式的前端解决方案,从项目的初始化 ...

  3. react创建项目报错unexpected end of json while parsing near xxx

    报这个错,执行下面的命令,然后重新创建项目就可以. npm cache clean --force

  4. hdu6444 2018中国大学生程序设计竞赛 - 网络选拔赛 1007 Neko's loop

    Neko's loop Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total S ...

  5. Linux基础笔记

    基本命令: man man  查看手册 (1)pwd  显示路径 (2)cd  切换路径 (3)ls -a;-l;-h;-i;-d (隐藏的:长列表显示:human显示:索引号:只显示列表) (4)c ...

  6. 20145232 韩文浩 《Java程序设计》第9周学习总结

    教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型和自定义枚举 会使用标准注解 JDBC标准主要分为两个部分:JDBC应用程序开发者接口和 ...

  7. mysql_触发器

    mysql触发器 触发器:trigger,事先为某张表绑定好一段代码,当表中某些内容发生改变的时候(增删改),系统会自动触发代码,执行 触发器:事件类型,触发时间,触发对象 事件类型:增删改,三种类型 ...

  8. 关于FPGA的一些小见解

    Xilinx FPGA配置bit流文件 Xilinx FPGA的供电是采用USB作为电源,使用Verilog HDL或VHDL实现的逻辑电路通过Xilinx的综合工具生成bit流文件,通过Digile ...

  9. csdn上讲一个实时计算架构比较清晰的一篇文章

    https://blog.csdn.net/ymh198816/article/details/51998085

  10. shell 中的 && 和 ||

    shell 中的 && 和 || 简言之,shell 中 && --左边的命令执行成功才会执行右边的命令. || -- 左边的命令执行失败才会执行右边的命令.