apply plugin: 'com.android.application'
-
+static def getL02ApkBaseName() {
+ return "ICAkLauncher"
+}
android {
+ def currentVersionCode = getVersionCode()
+ def currentVersionName = releaseTime()
+ def buildVersionType = 0
+
compileSdkVersion 29
+ buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.ic.ak.launcher"
minSdkVersion 19
targetSdkVersion 29
- versionCode 1
- versionName "1.0"
+ versionCode currentVersionCode
+ versionName "${currentVersionName}"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
}
}
- productFlavors{
-
- IcA9Launcher{
- flavorDimensions "IcA9Launcher"
- versionCode 1
- versionName "5.0"
- buildConfigField "int", "productType", "1002"
-
- }
- IcA9LauncherCN{
- flavorDimensions "IcA9LauncherCN"
- versionCode 1
- versionName "5.0"
- buildConfigField "int", "productType", "1003"
-
- }
- IcAkLauncher{
- flavorDimensions "IcAkLauncher"
- versionCode 1
- versionName "6.0"
- buildConfigField "int", "productType", "1001"
- }
- }
-
buildTypes {
release {
zipAlignEnabled true // zip 对齐优化
android.applicationVariants.all { variant ->
variant.outputs.all {
if (variant.buildType.name == "release") {
- outputFileName = "${variant.getFlavorName()}_V${versionCode}_${versionName}_${releaseTime()}_release.apk"
+ outputFileName = "${getL02ApkBaseName()}_V${currentVersionCode}_${currentVersionName}_release.apk"
} else {
- outputFileName = "${variant.getFlavorName()}_V${versionCode}_${versionName}_${releaseTime()}_debug.apk"
+ outputFileName = "${getL02ApkBaseName()}_V${currentVersionCode}_${currentVersionName}_debug.apk"
}
}
}
}
+def getVersionCode() {
+ def versionCodeFile = file('version_code.properties')
+ if (versionCodeFile.canRead()) {
+ Properties properties = new Properties()
+ properties.load(new FileInputStream(versionCodeFile))
+ def versionCode = properties['VERSION_CODE'].toInteger()//读取version_code.properties文件存放的版本号。
+ def runTasks = gradle.startParameter.taskNames
+ def task = ':app:assembleRelease'
+ if (task in runTasks) {
+ properties['VERSION_CODE'] = (++versionCode).toString()
+ properties.store(versionCodeFile.newWriter(), null)
+ }
+
+ return versionCode
+ } else {
+ throw new GradleException("无法读取version_code.properties文件!")
+ }
+}
+
static def releaseTime() {
return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+08:00"))
}