在你的app/build.gradle下面添加
打包时间 (可选)
static def releaseTime() {
return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}
在你的app/build.gradle文件中的android 方法下面添加如下代码:
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parent, variant.applicationId + "-" + buildType.name+"-" +defaultConfig.versionName + "-" + defaultConfig.versionCode + "-${releaseTime() }.apk" );
}
}
- buildType.name 打包类型 可以选择release,debug 对应build.gradle下面的buildTypes
- defaultConfig.versionName 是版本名
- defaultConfig.versionCode 是版本号
- ${releaseTime() } 打包时间戳,就是文章开始位置的代码,这里使用占位符表示
- variant.applicationId 应用程序id ,对应build.gradle下Android方法中defaultConfig 中的applicationId
完整代码如下:
apply plugin: 'com.android.application'
static def releaseTime() {
return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.haiquan.mvpdemo"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "v1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug{
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parent, variant.applicationId + "-" + buildType.name+"-" +defaultConfig.versionName + "-" + defaultConfig.versionCode + "-${releaseTime() }.apk" );
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}