而且我有3项任务:增量版本,内置的应用程序和发布应用内: increaseVersionCode assembleRelease crashlyticsUploadDistributionRelease
任务increaseVersionCode(我自己),只是增加的versionCode在build.gradle,但在那之后的任务assembleRelease运行与之前的versionCode值(不增加)。最后(毕竟3个任务),我已经增加了build.gradle中的versionCode,并发布了应用程序,但是使用了旧的versionCode。
我想,我应该在increaseVersionCode之后运行“Sync Project”。但我不知道如何用gradle来做。
是否有可能通过gradle任务运行Android Studio的“Sync Project”?
来源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,ANSWER
我们需要命令分成两个的bash命令: ./gradlew increaseVersionCode && ./gradlew assembleRelease crashlyticsUploadDistributionRelease
使用Android的Studio插件BashSupport我们可以给从工作室运行bash脚本。因此,我们需要将此命令存档,并使用Android-Studio运行。感谢@ k3b。