Ich möchte veröffentlichen App mit einem Klick in Android Studio.Wie Android-Projekt von Gradle Task synchronisieren?
Und ich habe drei Aufgaben: Erhöhungs-Version, Build-App, und veröffentlichen-App:
increaseVersionCode assembleRelease crashlyticsUploadDistributionRelease
Die Aufgabe increaseVersionCode
(meine eigenen) erhöht nur version in build.gradle
, aber nach, dass die Aufgabe assembleRelease
läuft mit dem vorherigen Wert von versionCode (nicht inkrementiert). Endlich (nach allen 3 Aufgaben), habe ich versionCode in build.gradle
erhöht und veröffentlichte App, aber mit altem versionCode.
Ich denke, ich sollte "Sync Project" nach increaseVersionCode
ausführen. Aber ich weiß nicht, wie ich es mit Gradle machen soll.
Ist es möglich, "Sync Project" von Android Studio von grdle Task ausführen?
Quelle von increaseVersionCode
:
import java.util.regex.Pattern
task('increaseVersionCode') << {
def buildFile = file("build.gradle")
def pattern = Pattern.compile("versionCode\\s+(\\d+)")
def manifestText = buildFile.getText()
def matcher = pattern.matcher(manifestText)
matcher.find()
def versionCode = Integer.parseInt(matcher.group(1))
def manifestContent = matcher.replaceAll("versionCode " + ++versionCode)
buildFile.write(manifestContent)
}
UPD, ANTWORT
Wir brauchen Befehl in zwei bash aufzuspalten Befehle:
./gradlew increaseVersionCode && ./gradlew assembleRelease crashlyticsUploadDistributionRelease
Mit Android-Studio Plugin BashSupport
wir können Bash-Skripte aus dem Studio ausführen. Also müssen wir diesen Befehl in eine Datei einfügen und mit Android-Studio ausführen. Danke an @ k3b.
Wie erhöhen Sie den Versionscode und wie versuchen Sie, es in Ihrer Build-Aufgabe zu verwenden? –
@ lu.koerfer ist es einfach durch regex ersetzen. Ich habe Quellcode der Aufgabe angefügt. – comm1x