Hier nun ein kleines Tutorial wie man im Gradle build die Versionsnummer inkrementiert (+1) und einen Zeitstempel des builds in eine Properties Datei speichert.
Speichern der Werte in einer Properties Datei
Als Erstes müssen wird die beiden Werte (VERSION_CODE & BUILD_TIMESTAMP) in einer Properties Datei speichern.
Diese Datei wird relativ zum Pfad des „src“ Ordners abgelegt.
def Properties versionProps = new Properties()
def versionPropsFile = file('version.properties')
def code = ''
def buildtimestamp = ''
if(versionPropsFile.exists()){
versionProps.load(new FileInputStream(versionPropsFile))
code = (versionProps['VERSION_CODE'] ?: "0").toInteger() + 1
versionProps['VERSION_CODE'] = code.toString()
buildtimestamp = getDate()
versionProps['BUILD_TIMESTAMP'] = buildtimestamp
versionProps.store(versionPropsFile.newWriter(), null)
}
Erstellen eines Zeitstempels
Ein Zeitstempel kann mit folgender Methode erstellt werden.
def getDate() {
def date = new Date()
return date.format('yyyy-MM-dd')
}
Für das Formatieren des Zeitstempels können die Werte aus dem SimpleDateFormat verwendet werden.
Verwenden der gespeicherten Werte
In dem Abschnitt „defaultConfig“ können nun die beiden Variablen „code“ & „buildtimestamp“ verwendet werden.
defaultConfig {
applicationId "xyz.stefandraegersoftware.de.xyz"
minSdkVersion 17
targetSdkVersion 22
versionName "1.0 " + buildtimestamp
versionCode code
}
Auslesen der Werte im Java Quellcode
Möchte man nun die gespeicherten Werte in einer Android Activity anzeigen, so kann man ganz einfach wie folgt darauf zugreifen:
//versionName this.versionTextView.setText(String.valueOf(BuildConfig.VERSION_NAME)); //versionCode this.buildTextView.setText(String.valueOf(BuildConfig.VERSION_CODE));
Letzte Aktualisierung am: 02. Mai 2023