作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我们的 Android 项目中,我们希望 APK 的文件名包含日期、git 分支名称和短提交哈希等信息。
我们一直将此设置为 defaultConfig
android {
defaultConfig {
setProperty("archivesBaseName", "$projectName.$branchName.$date.$buildNumber.$versionCode-$versionName-$versionSha")
}
}
这在大多数情况下都有效,但我们的构建有时会失败,错误指向过时的值(例如在切换分支之后)。在 Android Studio 中强制执行 Gradle Sync 通常可以解决这个问题。
那么是否有更好、更稳健的方法来确保属性保持最新并在必要时强制执行 gradle 同步?
最佳答案
尝试在
之前调用clean.execute()
android { ... }
这是我能想到的最便宜的“同步”任务:)
clean.execute()
android {
defaultConfig {
setProperty("archivesBaseName", "$projectName.$branchName.$date.$buildNumber.$versionCode-$versionName-$versionSha")
}
}
关于安卓 + Gradle : Best place to set dynamic archivesBaseName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37176797/
我经常使用 archivesbasename 重命名我的输出 apk,但由于使用了 google-services 插件,它被忽略了。我能做些什么来让它再次工作吗? 在下面附上我的完整 build.g
在我们的 Android 项目中,我们希望 APK 的文件名包含日期、git 分支名称和短提交哈希等信息。 我们一直将此设置为 defaultConfig 的一部分 android { defa
我是一名优秀的程序员,十分优秀!