wie das Datum bei Gradle an versionNameSuffix angehängt wird
Lesezeit: 3 Minuten
Rodrigo Amaro Reveco
Ich verwende Android Studio und muss ein Suffix an die anhängen versionNameSuffix auf meinem Android build.gradle Datei. Ich habe drei verschiedene Build-Typen und muss nur die Datumszeit an meine “Beta” -Version anhängen. Meine eigentliche Datei ist:
Zum Testen und automatischen Bereitstellen benötige ich einen endgültigen Versionsnamen wie: 0.7.5-beta-build20131004, 0.7.5-beta-build1380855996 oder sowas ähnliches. Irgendwelche Ideen?
versionNameSuffix ist seit mindestens einem Jahr defekt
– blau hallu
27. Oktober 2015 um 13:28 Uhr
buildTime ist unterstrichen: Innere Methoden werden nicht unterstützt.
– CoolMind
21. Dezember 2016 um 17:29 Uhr
Wie bekommt man Date() importiert?
– einfacher Benutzer
7. Mai 2021 um 6:00 Uhr
Vergessen Sie auch nicht, den Import als erste Zeile von Gradle hinzuzufügen:
import java.text.SimpleDateFormat;
...
oder vermeiden Sie die Trauer und verwenden Sie Date().format(“yyyyMMdd’T’HHmmssZ”)
– kbro
22. August 2018 um 14:36 Uhr
Yogajunge
for simple one row solution define this property above android section
final BUILD_DATE = new Date().format('yyyy_MM_dd_HHmm')
and then
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
applicationId APPLICATION_ID
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.compileSdkVersion
versionName GIT_TAG_NAME
versionCode GIT_COMMIT_COUNT
setProperty("archivesBaseName",`enter code here` "com-appname-$BUILD_DATE-$versionName")
}
}
Jamie Bisotti
Ich bin mit Android Studio nicht vertraut, aber ich gehe davon aus, dass sich Gradle wie gewohnt verhält. Das Hinzufügen von so etwas zu Ihrer Build-Projektkonfiguration sollte den Zweck erfüllen:
allProjects {
gradle.taskGraph.whenReady { taskGraph ->
versionNameSuffix += '-build' + // Java/Groovy code to produce the timestamp formatted the way you want
}
}
Tuan Nguyen
Sie können testen
task timenow {
println(new Date().getTime())
}
Gradle ausführen: Gradle timenow
Siehe Einzelheiten. Platzieren Sie es auf dem Build der obersten Ebene
// At the top of the file
import java.time.LocalDate
import java.time.format.DateTimeFormatter.*
// ...
android {
buildTypes {
getByName("debug") { // OR simply debug { in newer versions of Android Gradle Plugin (AGP)
val date = LocalDate.now().toString()
// OR val date = LocalDate.now().format(ISO_LOCAL_DATE)
// OR val date = LocalDate.now().format(ofPattern("yyyy-MM-dd"))
versionNameSuffix = date
}
}
}
Sie könnten die Datumserstellung auch in eine Funktion extrahieren:
android {
buildTypes {
getByName("debug") {
versionNameSuffix = generateDate()
}
}
}
fun generateDate() = LocalDate.now().toString()
// OR fun generateDate() = LocalDate.now().format(ISO_LOCAL_DATE)
// OR fun generateDate() = LocalDate.now().format(ofPattern("yyyy-MM-dd"))
13003100cookie-checkwie das Datum bei Gradle an versionNameSuffix angehängt wirdyes