在使用Jenkins
配置Android项目
的时候遇到了一些坑,总结下:javascript
##没有gradle.properties文件java
example/bulid.gradle
FAILURE: Build failed with an exception.android
- Where:
Build file '/Users/Shared/Jenkins/Home/jobs/android- crop/workspace/build.gradle' line: 12- What went wrong:
A problem occurred evaluating root project 'workspace'.
Could not find property 'VERSION' on root project 'workspace'.
Android Studio
打开一个项目的时候默认会生成gradle.properties
,在使用Jenkins
集成的时候使用的是gradle assembleRelease
命令,不会自动生成gradle.properties
的,就出现了上面的错误。解决方案:在项目根目录添加一个gradle.properties
:git
VERSION=1.0.1
VERSION_CODE=1
signing.keyId=
signing.secretKeyRingFile=
signing.password=
sonatypeUsername=jdamcd
sonatypePassword=复制代码
##没法使用.ssh中的private keyssh
clone
项目的时候没法使用.ssh
中的private key
。Jenkins
的时候会新建了一个用户(jenkins),jenkins用户没有权限读取~/.ssh
的权限。 Add credentials
手动输入private key的内容:##构建项目权限不足工具
错误信息:gradle
- What went wrong:
java.io.IOException: Permission denied
Permission denied
错误分析:形成这个问题的缘由是由于给予jenkins
用户的权限不足,没法操做jenkins
目录。ui
解决方案: 给jenkins用户
足够的权限this
sudo chown -R jenkins /var/lib/jenkins/复制代码
##没有设置sdk的目录lua
错误分析:local.properties
一样的也是由Android Studio
中自动根据环境变量生成的,在使用gradle build
的时候也是没法自动建立的。
解决方案:在项目根目录定义一个local.properties
并指定sdk.dir
为Android SDK的位置。
## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Fri Dec 11 16:57:33 CST 2015
sdk.dir=/var/lib/jenkins/tools/android-sdk复制代码
##请使用插件Jenkins
提供各类强大的插件好比:
Gradle plugin
:能够配置管理本地的gradle。Git Parameter Plug-In
:能够帮助在Jenkins中更好的管理git。Android Emulator Plugin
:能够管理Android sdk,也能够帮助集成Android项目。Jenkins
的有各类强大的插件,若是某个配置或者某个工具不知道在Jenkins
中使用,能够尝试找下它的插件。