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构建下

五、自签名

  1. applicationVariants.all { variant ->
  2. if (variant.buildType.name.equals('release')) {
  3. variant.outputs.each { output -> def outputFile = output.outputFile
  4. if (outputFile != null && outputFile.name.endsWith('.apk')) {
  5. def fileName = "${releaseTime()}_com.andli.myproject_${defaultConfig.versionName}.apk"
  6. output.outputFile = new File('/', fileName)
  7. }
  8. }
  9. }
  10. }


  1. def releaseTime() {
  2. return new Date().format("yyyyMMdd HH:mm:ss", TimeZone.getTimeZone("Asia/Chongqing"))
  3. }

签名文件上传到项目下面
  1. signingConfig signingConfigs.release//打包命令行:gradlew assembleRelease
  2. lintOptions {
  3. abortOnError false
  4. }
  5. signingConfigs {//签名的配置
  6. release {
  7. storeFile file("签名文件.jks")
  8. storePassword '密码>'
  9. keyAlias '别名'
  10. keyPassword '密码>'
  11. }
  12. }
 

自签名参考地址:http://www.jianshu.com/p/5866e36c81fa



六、项目依赖jar包
将依赖的jar包上传至sdk相关目录下。
原文地址:https://www.cnblogs.com/qidongbo/p/9473414.html