|
|
@@ -6,9 +6,27 @@ def releaseTime() {
|
|
|
return new Date().format("yyyyMMdd.HHmm.ss")
|
|
|
}
|
|
|
//设置发布的显示的版本号
|
|
|
-def getVersionName(){
|
|
|
+def getVersionName() {
|
|
|
return rootProject.ext.android.versionName
|
|
|
}
|
|
|
+//读取版本号
|
|
|
+def getVersionCode() {
|
|
|
+ def versionFile = file('version.properties')
|
|
|
+ if (versionFile.canRead()) {
|
|
|
+ Properties versionProps = new Properties()
|
|
|
+ versionProps.load(new FileInputStream(versionFile))
|
|
|
+ def versionCode = versionProps['versionCode'].toInteger()
|
|
|
+ def runTasks = gradle.startParameter.taskNames //仅在assembleRelease任务是增加版本号
|
|
|
+ if (':app:assembleRelease' in runTasks) {
|
|
|
+ versionProps['versionCode'] = (++versionCode).toString()
|
|
|
+ versionProps.store(versionFile.newWriter(), null)
|
|
|
+ }
|
|
|
+
|
|
|
+ return versionCode
|
|
|
+ } else {
|
|
|
+ throw new GradleException("Could not find version.properties!")
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
android {
|
|
|
compileOptions {
|
|
|
@@ -27,16 +45,18 @@ android {
|
|
|
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
|
|
|
|
|
defaultConfig {
|
|
|
+ def currentVersionCode = getVersionCode()
|
|
|
applicationId project.applicationId
|
|
|
minSdkVersion rootProject.ext.android.minSdkVersion
|
|
|
targetSdkVersion rootProject.ext.android.targetSdkVersion
|
|
|
- versionCode rootProject.ext.android.versionCode
|
|
|
+ // versionCode rootProject.ext.android.versionCode
|
|
|
+ versionCode currentVersionCode
|
|
|
versionName rootProject.ext.android.versionName
|
|
|
multiDexEnabled true
|
|
|
signingConfig signingConfigs.config
|
|
|
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
|
|
|
ndk {
|
|
|
- abiFilters "armeabi", "armeabi-v7a", "x86", "mips","x86_64","mips64"
|
|
|
+ abiFilters "armeabi", "armeabi-v7a", "x86", "mips", "x86_64", "mips64"
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -45,7 +65,7 @@ android {
|
|
|
checkReleaseBuilds false
|
|
|
abortOnError false
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
packagingOptions {
|
|
|
exclude 'META-INF/LICENSE.txt'
|
|
|
exclude 'META-INF/NOTICE.txt'
|
|
|
@@ -61,8 +81,8 @@ android {
|
|
|
signingConfig signingConfigs.config
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- productFlavors {
|
|
|
+
|
|
|
+ productFlavors {
|
|
|
wandoujia {}
|
|
|
_360 {}
|
|
|
baidu {}
|
|
|
@@ -74,17 +94,17 @@ android {
|
|
|
productFlavors.all {
|
|
|
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
applicationVariants.all { variant ->
|
|
|
variant.outputs.each { output ->
|
|
|
def outputFile = output.outputFile
|
|
|
def fileName
|
|
|
if (outputFile != null && outputFile.name.endsWith('.apk')) {
|
|
|
if (variant.buildType.name.equals('release')) {
|
|
|
- variant.mergedFlavor.versionName = getVersionName()+"_"+variant.productFlavors[0].name
|
|
|
+ variant.mergedFlavor.versionName = getVersionName() + "_" + variant.productFlavors[0].name
|
|
|
fileName = "WeiChat_${variant.mergedFlavor.versionName}_release.apk"
|
|
|
} else if (variant.buildType.name.equals('debug')) {
|
|
|
- variant.mergedFlavor.versionName = getVersionName()+"_"+releaseTime()+ "_"+variant.productFlavors[0].name
|
|
|
+ variant.mergedFlavor.versionName = getVersionName() + "_" + releaseTime() + "_" + variant.productFlavors[0].name
|
|
|
fileName = "WeiChat_${variant.mergedFlavor.versionName}_debug.apk"
|
|
|
}
|
|
|
output.outputFile = new File(outputFile.parent, fileName)
|
|
|
@@ -95,7 +115,7 @@ android {
|
|
|
|
|
|
dependencies {
|
|
|
compile fileTree(include: ['*.jar'], dir: 'libs')
|
|
|
-
|
|
|
+
|
|
|
testCompile deps.junit
|
|
|
compile deps.appcompatV7
|
|
|
compile deps.cardviewV7
|
|
|
@@ -104,7 +124,7 @@ dependencies {
|
|
|
compile(deps.stetho) {
|
|
|
force = true
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
compile deps.jodatime
|
|
|
compile deps.systembartint
|
|
|
compile deps.photoView
|
|
|
@@ -115,7 +135,7 @@ dependencies {
|
|
|
compile deps.stickyGridHeaders
|
|
|
compile deps.materialDialogs
|
|
|
compile deps.okhttp
|
|
|
-
|
|
|
+
|
|
|
androidTestCompile deps.leakcanaryNp
|
|
|
debugCompile deps.leakcanary
|
|
|
releaseCompile deps.leakcanaryNp
|