每次我使用Android Studio(1.02)运行项目时,都会生成一个未签名的apk,位于.. \ build \ outputs \ apk文件夹中,默认情况下获取名称“app-debug.apk”
我想将该默认名称更改为其他名称。
有可能吗?怎么样?
答案 0 :(得分:23)
您可以使用applicationVariants并更改build.gradle中的输出文件。您还可以根据需要修改名称。
buildTypes{
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = file("$project.buildDir/apk/test.apk")
}
}
}
答案 1 :(得分:16)
在build.gradle
(模块:应用)中:
android {
...
defaultConfig {
...
setProperty("archivesBaseName", "MyNewAppNameGoesHere")
}
}
这可以修改archivesBaseName
- 属性,适用于Gradle Version> = 2.0,最后使用2.1.0进行测试。
答案 2 :(得分:8)
gradle3的解决方案:
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = applicationId;
outputFileName += "-v" + android.defaultConfig.versionName;
if (variant.buildType.name == "release") {
outputFileName += ".apk";
} else {
outputFileName += "-SNAPSHOT.apk";
}
}
}
答案 3 :(得分:3)
'应用程序'名称的一部分使用应用程序模块的文件夹名称(默认为' app')。请参阅以下链接,了解如何更改 Why is my APK name generic?
' -debug'前缀是您可以在构建类型
模块设置中更改的内容答案 4 :(得分:3)
如果有人想在Android工作室之外更改apk名称(只是为了将此文件发送给其他人,就像我的情况一样),只需右键单击应用程序名称并将其更改为您想要的任何名称。
答案 5 :(得分:1)
defaultConfig {
applicationId "com.dcarl661.awesomelayout"
minSdkVersion 14
targetSdkVersion 25
versionCode 1
versionName "1.0"
//here put it in the section where you have the version stuff
setProperty("archivesBaseName", "AwesomeLayout")
}
答案 6 :(得分:1)
defaultConfig {
applicationId "com.example"
def date = new Date();
def formattedDate = date.format('yyyy-MM-dd-HHmmss')
setProperty("archivesBaseName", "Quest_" + versionName + "_"+formattedDate)
}
我确实喜欢这样。更详细
答案 7 :(得分:0)
也许这个问题(及其接受的答案)对您有意义: How to set versionName in APK filename using gradle? 它描述了如何将您的versionName放入APK名称。
您必须使用'更新'接受的答案的一部分。您还需要build.gradle文件中defaultConfig中声明的versionName(在此示例中)。如果在build.gradle中定义versionCode,它也可以工作(如下所述:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Manifest-entries)。