一: andorid 开发测试流程:
1.开发人员开发完成---->打包apk-----> 将apk上传的内网服务器-->发送邮件通知给测试人员
2.测试人员通过邮件-->获取邮件中服务器上的apk包地址进行测试.
3.我们需要使用Gradle完成上面 apk打包--->上传nexus服务器--->自动发送邮件
二: 环境描述.
Ubuntu14.04 ,Nexus,Android Stuido3.0 Jdk8.0,Maven,Gradle2.3.1,Groovy你可能需要了解一下,
三:Gradle脚本.
gradle代码如下:
//配置maven插件依赖.
apply plugin: 'maven'
//定义上传构建的类型
//生成javaDoc并使用Jar打包称jar文件.
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
//定义需要上传的源代码目录. android-aar java-jar类型.
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
///
//定义需要上传的构建.
artifacts {
File apkFileParent = new File("app/build/outputs/apk")
apkFileParent.listFiles().each { files ->
//上传apk文件到nexus服务器.
archives file : files
}
//配置上传arr.到nexus服务器.
archives androidSourcesJar
//配置上传javaDoc到nexus服务器.
archives androidJavadocsJar
}
//上传文件方法
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://192.168.1.201:8081/nexus/content/repositories/xiu8.android/") {
authentication(userName: "zshh", password: "654321")
}
pom.groupId = 'pao.com'
pom.artifactId = 'paopao'
pom.version = "1.2"
}
}
}
//删除之前的apk文件.
task deleteApk << {
android.applicationVariants.all{ variant ->
File file = new File(variant.outputs.get(0).outputFile.parentFile.absolutePath)
file.listFiles().each { apkFile ->
apkFile.delete()
}
}
}
//发送邮件
tasks sendMail << {
}
//配置任务依赖关系.
uploadArchives.dependsOn deleteApk
sendMail.dependsOn uploadArchives
task pack << {
dependsOn uploadArchives
doLast {
println("发布测试包成功.")
}
}
四:邮件发送部分还未整理. 待续.