linux jenkins+gradle+svn 自动化部署android项目+自签名
一、准备工作
1、安装:tomcat+jdk http://blog.csdn.net/qiaoqiao9117/article/details/72842902
2、安装:jenkins http://blog.csdn.net/qiaoqiao9117/article/details/72844007
3、安装:svn客户端:http://pan.baidu.com/s/1jIHrlGU
参考:http://blog.csdn.net/qiaoqiao9117/article/details/72844317
二、gradle安装(开发环境版本)
1、下载:http://pan.baidu.com/s/1cjbBx8 gradle-3.5-all.zip gradle-2.10-all.zip
2、上传解压:
# unzip gradle-2.10-all.zip
3、配置环境变量:
# vi /etc/profile
export GRADLE_HOME=/usr/local/gradle-2.10
export PATH=$PATH:$GRADLE_HOME/bin
# source /etc/profile
# echo $GRADLE_HOME
三、SDK安装(开发环境版本一致)
1、下载:http://pan.baidu.com/s/1cjbBx8 android-sdk_r24.4.1-linux.tgz
2、上传解压:
# tar -xzvf android-sdk_r24.4.1-linux.tgz
3、配置环境变量:
# vi /etc/profile
export ANDROID_HOME=/usr/local/android-sdk-linux
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH
# source /etc/profil
4、更新 platforms,platform-tools
进入sdk解压目录下的tools目录:
更新platform:
# ./android update sdk --proxy-host mirrors.neusoft.edu.cn --proxy-port 80 -s -u -t platform
更新platform-tools:
# ./android update sdk --proxy-host mirrors.neusoft.edu.cn --proxy-port 80 -s -u -t platform-tools
5、SDK升级
1、下载tools:http://pan.baidu.com/s/1qYGzdJQ tools_r25.2.3-linux.zip
2、上传解压:
# unzip tools_r25.2.3-linux.zip
将解压出来的tools 替换 sdk 同名目录 unalias cp
# cp -r /usr/local/src/tools/* /usr/local/android-sdk-linux/tools/
6、更新build-tools
列出sdk相关列表
# android list sdk --all
选择要安装的项目序号
# android update sdk -u -a -t 4,2
至此sdk安装完成
四、jenkins配置
1、配置gradle
系统配置-global tool configuration
2、新建项目并配置
shell:替换配置文件,替换build.gradle(自签名配置),上传签名证书
invoke gradle script:选择gradle版本
tasks:clean build --stacktrace --debug
apk包上传svn构建下
五、自签名
-
applicationVariants.all { variant ->
-
if (variant.buildType.name.equals('release')) {
-
variant.outputs.each { output -> def outputFile = output.outputFile
-
if (outputFile != null && outputFile.name.endsWith('.apk')) {
-
def fileName = "${releaseTime()}_com.andli.myproject_${defaultConfig.versionName}.apk"
-
output.outputFile = new File('/', fileName)
-
}
-
}
-
}
-
}
-
def releaseTime() {
-
return new Date().format("yyyyMMdd HH:mm:ss", TimeZone.getTimeZone("Asia/Chongqing"))
-
}
签名文件上传到项目下面
-
signingConfig signingConfigs.release//打包命令行:gradlew assembleRelease
-
lintOptions {
-
abortOnError false
-
}
-
signingConfigs {//签名的配置
-
release {
-
storeFile file("签名文件.jks")
-
storePassword '密码>'
-
keyAlias '别名'
-
keyPassword '密码>'
-
}
-
}
自签名参考地址:http://www.jianshu.com/p/5866e36c81fa
六、项目依赖jar包
将依赖的jar包上传至sdk相关目录下。