我最近在我的应用中集成了 Firebase 应用分发并使用了 Firebase 控制台。我曾经生成 APK 并通过控制台手动上传并分发应用程序。我太天真了。然后我开始知道整个过程可以通过 FaSTLane 或 Gradle 应用程序分发自动化。支持。感谢 this,我成功地通过 gradle 集成了应用程序分发.
但我很快发现,当我使用控制台时,无论版本名称或版本代码如何,都会为每个新 APK 创建一个新条目。即使我没有更改 APK 版本代码或名称,也会创建新的 APK 条目。但是,当我通过 Gradle 执行此操作时,它会一次又一次地更新同一个 APK,直到我更改版本代码和名称。
已经阅读了文档,但没有提及这一点。如果我想在应用程序分发控制台中为其添加新条目,我是否需要为每次上传更改版本代码和名称?
build.gradle(app)
buildTypes {
debug{
firebaseAppDistribution {
appId = "MY_APP_ID"
releaseNotesFile = "app/releasenotes.txt"
groups = "test"
}
}
上传我运行
./gradlew assembleDebug appDistributionUploadDebug
最佳答案
我在尝试推送功能分支构建时遇到了同样的问题,我不想有任何不同的版本代码
我做了一些尝试和错误来解决这个问题,所以我的解决方案有点开箱即用。
解决方案一
首先我试着看看是什么问题,我添加了一个生成时间戳的 groovy 方法
static def getDate() {
return new Date().format('yyyyMMddHHmm')
}
然后我更改了 buildType.debug.versionNameSuffix
以根据时间戳为每个构建命名,所以我们得到了这个
versionNameSuffix "-DEBUG-" + getDate()
方案二
由于我们的 Github Action CI 不需要命名调试 apk 文件的名称,为什么不直接更改该文件名呢?
所以gradle的变化就变成了
defaultConfig {
archivesBaseName = "${applicationId}-v${versionName}(${versionCode})" + getDate()
}
我们得到了这个输出
希望对你有帮助
关于通过 gradle 更新相同的 APK 而不是创建新的 APK 的 Firebase 应用分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67682054/