从“app-debug.apk”更改生成的apk名称

时间:2014-12-28 16:35:32

标签: android android-studio apk android-gradle build.gradle

每次我使用Android Studio(1.02)运行项目时,都会生成一个未签名的apk,位于.. \ build \ outputs \ apk文件夹中,默认情况下获取名称“app-debug.apk”

我想将该默认名称更改为其他名称。

有可能吗?怎么样?

8 个答案:

答案 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)。