linux jenkins+gradle+svn 自动化部署android项目+自签名

来源:互联网 发布:阿里云费用中心 提现 编辑:程序博客网 时间:2024/05/29 18:41

一、准备工作

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相关目录下。

 
阅读全文
0 0
原创粉丝点击