Apps für Android programmieren leicht gemacht!
versionsnummer automatisch erhöhen

Versionsnummer automatisch erhöhen

Da programmiert man gemütlich an seiner Android App, drückt auf Kompilieren und anschließend merkt man: „Mist ist habe vergessen die Versionsnummer zu erhöhen“.
Jeder App-Entwickler kennt dieses Problem.

Ohne erhöhte Versionsnummer kein Upload in den Google PlayStore.

Es gibt aber eine Möglichkeit die Versionsnummer sich automatisch selber erhöhen zu lassen.
Wir öffnen hierfür die Datei „build.gradle (Module: app)“ und fügen ans Ende der Datei diesen Schnippsel hinzu.

import java.util.regex.Pattern

task('increaseVersionCode') << {
    def manifestFile = file("src/main/AndroidManifest.xml")
    def pattern = Pattern.compile("versionCode=\"(\\d+)\"")
    def manifestText = manifestFile.getText()
    def matcher = pattern.matcher(manifestText)
    matcher.find()
    def versionCode = Integer.parseInt(matcher.group(1))
    def manifestContent = matcher.replaceAll("versionCode=\"" + ++versionCode + "\"")
    manifestFile.write(manifestContent)
}

task('incrementVersionName') << {
    def manifestFile = file("src/main/AndroidManifest.xml")
    def patternVersionNumber = Pattern.compile("versionName=\"(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)\"")
    def manifestText = manifestFile.getText()
    def matcherVersionNumber = patternVersionNumber.matcher(manifestText)
    matcherVersionNumber.find()
    def majorVersion = Integer.parseInt(matcherVersionNumber.group(1))
    def minorVersion = Integer.parseInt(matcherVersionNumber.group(2))
    def pointVersion = Integer.parseInt(matcherVersionNumber.group(3))
    def buildVersion = Integer.parseInt(matcherVersionNumber.group(4))
    def mNextVersionName = majorVersion + "." + minorVersion + "." + pointVersion + "." + (buildVersion + 1)
    def manifestContent = matcherVersionNumber.replaceAll("versionName=\"" + mNextVersionName + "\"")
    manifestFile.write(manifestContent)
}

tasks.whenTaskAdded { task ->
    if (task.name == 'generateReleaseBuildConfig' || task.name == 'generateDebugBuildConfig') {
        task.dependsOn 'increaseVersionCode'
        task.dependsOn 'incrementVersionName'
    }
}

Zusätzlich müssen wir die Zeilen „versionCode X“ und „versionName „Y.Y.Y.Y““ entfernen.
Anschließend müssen wir die Informationen, der beiden entfernten Zeilen, wieder in die Datei „AndroidManifest.xml“ einfügen.
Dazu schreiben wir „android:versionCode=“X“ “ und „android:versionName=“Y.Y.Y.Y“ “ in den Tag „manifest“.
Dies sieht dann so ähnlich aus:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.droidlernen.AppName" 

android:versionCode="857" 
android:versionName="0.9.8.857" 

>

Wichtig ist hier, dass der Versionsname aus vier Zahlen, mit einem Punkt getrennt, besteht.

Es wird sich ab jetzt der VersionCode um +1 erhöhen und zusätzlich die letzte Zahl des VersionName.
Weitere Informationen zu der Versionsbezeichnung findest du hier: Versionsnummer – Wikipedia

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld