新建一個(gè)Android工程场航,默認(rèn)編譯會(huì)生成一個(gè)叫app-debug.apk或者叫app-release.apk文件瓮栗,說(shuō)實(shí)話(huà),單純看文件名沦泌,我都不到任何有用的信息糊昙,我希望輸出的文件名是這樣的:
模塊名-渠道名-版本號(hào)-版本名稱(chēng)-包名-編譯時(shí)間.apk
當(dāng)然,這只是舉一個(gè)例子谢谦,可能不需要那么長(zhǎng)释牺,具體需要什么就加什么。
實(shí)現(xiàn)
通過(guò)build.gradle來(lái)做回挽,具體看代碼
apply plugin: 'com.android.application'
def releaseTime() {
return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.djk.myapplication"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors{
develop{}
xiaomi{}
huawei{}
anzhi{}
}
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
//這里修改apk文件名
def fileName = "demo_${variant.productFlavors[0].name}-${defaultConfig.versionCode}-${defaultConfig.versionName}-${releaseTime() }.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
}
看看效果
好了没咙,是不是看著好很多。
Android Studio3.0 Gradle 3.0.0版本
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "${variant.name}-${variant.versionName}.apk"
}
}