Android Gradle build:重命名apk

ben*_*n75 19 android build gradle android-gradle-plugin

如何调整build.gradle以更改apk的最终基本名称?(不更改默认后缀)

Jon*_*nik 26

在Gradle 1.8上,project.archivesBaseName确实有效,但它给出了这个抱怨:

不建议按需创建属性(也称为动态属性),并计划在Gradle 2.0中删除它们. 有关替换动态属性的信息,请阅读 http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html.不推荐使用的动态属性:"root project'myapp'"上的"archivesBaseName",值:"AnotherName".

要摆脱警告(并避免在Gradle 2.0上构建中断),请使用以下命令:

project.ext.set("archivesBaseName", "AnotherName");
Run Code Online (Sandbox Code Playgroud)

...正如ExtraPropertiesExtension文档中所建议的那样.

更新(Gradle插件1.1.0)

正如friederbluemle所说archivesBaseName,Android Gradle插件版本1.1.0引入了一个破坏的错误.但幸运的是,此后已经修复(版本1.1.2).


ben*_*n75 21

我发现了一个很简单的解决方案 apk基本名称是archivesBaseName项目中定义的属性.所以以下行足以重命名apks:

project.archivesBaseName = "AnotherName";
Run Code Online (Sandbox Code Playgroud)

  • 你是怎么找到这个属性的?我的意思是,在哪里? (2认同)
  • project.archivesBaseName = "${applicationId}-${versionName}-${versionCode}".toString() (2认同)

Fab*_*ank 10

从您必须使用的Android Gradle插件的1.1.0版开始

archivesBaseName = "yourOtherName"
Run Code Online (Sandbox Code Playgroud)

而不是project.ext.set("archivesBaseName", "yourOtherName")在你的build.gradle,使其工作.

  • 它现在在Gradle插件的1.3.0版本中完全被破坏了.请参阅https://code.google.com/p/android/issues/detail?id=182016. (4认同)
  • @FabianFrank在1.3.1发布的android gradle工具修复此问题 (3认同)