更改发行版APK文件路径

时间:2020-02-24 13:52:10

标签: android-studio android-gradle-plugin apk

Android版本apk是在

中创建的
...\Foo\Foo\build\outputs\apk\release\foo.apk

如何更改此路径?

我想将我的apk保存为特定路径下的某些项目。

这可能吗?

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。您可以设置生成APK的位置, 在您的项目级别build.gradle中,在所有项目中添加所需的路径:

allprojects {
    buildDir = "/D:/Foo/Bar/Android/Build/"
    ...
}

这将在指定路径的Build文件夹内创建apk以及生成的,中间体,temp等文件夹。如果希望在带有项目名称等的文件夹中生成它,请使用:

buildDir = "/D:/Foo/Bar/Android/Build/${rootProject.name}/${project.name}"

有关更多参考,您可以检查this answer

更新: 我找不到任何直接将发行版APK生成到某个特定文件夹中的方法,但是如果可以将该APK副本保存到另一个文件夹中,可以使用gradle的Copy task来实现。在您的APP级Gradle中,您可以尝试以下我测试过的代码。

afterEvaluate {
    // to execute the copy task every time a release build is generated
    packageRelease.finalizedBy(copyRelease)
}

task copyRelease(type: Copy) {
    // set your paths here
    def sourcePath = file ("/release/app-release.apk").absolutePath
    def destinationPath = "/D:/Foo/Bar/Android/Build/"
    // set a name for your build if you are going to rename it
    def releaseName = "${rootProject.name}.apk"

    from "$sourcePath"
    into "$destinationPath"
    //use the below line if you wish to rename the apk
    rename { releaseName }
}

即使它建议将其添加到android {...}块中,也可以简单地将其添加到外部。因此,即使未直接将apk生成到您的文件夹中,该任务也会复制相同内容以将其保存到您选择的文件夹中。

如果您需要它来进行调试构建,请改用packageDebug并相应地更改路径。

希望这就是您想要的。