I am trying to automatically increase the version of Code in my build.gradle . But that will not work. Then I tried to just overwrite versionCode, for example. versionCode 20 is still not being updated. Checked both the original AndroidManifest.xml and packaged in apk.
Full build.gradle :
import java.util.regex.Pattern buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5+' } } repositories { mavenCentral() mavenLocal() maven { url "http://mente.imtqy.com/facebook-api-android-aar" } } apply plugin: 'android' dependencies { //provided by android gradle plugin compile 'com.android.support:support-v4:+' compile 'com.google.android.gms:play-services:3.+' compile 'com.facebook:facebook-android-sdk: 3.0.2@aar ' compile 'org.codehaus.jackson:jackson-mapper-asl:1.+' compile 'org.twitter4j:twitter4j-core:3.+' compile fileTree(dir: 'libs', include: '*.jar') } def getVersionCode() { println "Hello getVersionCode" def manifestFile = file("AndroidManifest.xml") def pattern = Pattern.compile("versionCode=\"(\\d+)\"") def manifestText = manifestFile.getText() def matcher = pattern.matcher(manifestText) matcher.find() def version = ++Integer.parseInt(matcher.group(1)) println sprintf("Returning version %d", version) return version } android { defaultConfig { versionCode getVersionCode() } signingConfigs { release { ... } } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } buildTypes { release { signingConfig signingConfigs.release } } buildToolsVersion "17.0" compileSdkVersion 17 } task wrapper(type: Wrapper) { gradleVersion = '1.6' }
Also my debug lines from getVersionCode function are not printed. It looks like the defaultConfig section is defaultConfig ignored. I know there a working example here on SO. But still wondering why the built-in android.defaultConfig.versionCode does not work?
source share