Android + Gradle:设置动态archivesBaseName的最佳位置

Krz*_*mic 13 android gradle android-studio

在我们的Android项目中,我们希望APK的文件名包含日期,git分支名称和简短提交哈希等信息.

我们一直把它作为我们的一部分 defaultConfig

android {
   defaultConfig {
      setProperty("archivesBaseName", "$projectName.$branchName.$date.$buildNumber.$versionCode-$versionName-$versionSha")    
   }
}
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下都有效,但是我们的构建有时会失败并指向过时的值(例如在切换分支之后).在Android Studio中强制Gradle Sync通常会修复它.

那么,是否有更好,更强大的方法来确保财产保持最新并强制进行同步?

Mic*_*rla 0

如果在构建过程中发生错误,则会出现消息窗口来描述问题。Gradle 可能会推荐一些命令行选项来帮助您解决问题,例如 --stacktrace 或 --debug。要在构建过程中使用命令行选项:

  1. 打开“设置”或“首选项”对话框: 在 Windows 或 Linux 上,从主菜单中选择“文件”>“设置”。
  2. 导航到“构建、执行、部署”>“编译器”。
  3. 在“命令行选项”旁边的文本字段中,输入命令行选项。
  4. 单击“确定”保存并退出。

Gradle 将在您下次尝试构建应用程序时应用这些命令行选项。

我已从该页面获取信息。