因为需要实现自动化打包,所以需要自定义输出目录(绝对路径)和文件名。
但是搜索了很久,都没有找到有效的办法,很多都是旧版Gradle才能用的语法,新版Gradle编译不通过。
终于还是找到了可用的方法,在module层的build.gradle增加如下代码:
android {
applicationVariants.all { variant ->
variant.outputs.all { output ->
variant.packageApplicationProvider.get().outputDirectory = new File("path/to/output/dir")
outputFileName = "output_file_name.apk"
}
}
}
需要注意:
1.如果是多种build type或多种flavor同时打包,记得在输出文件夹路径或文件名中引用相关变量。
2.Android Studio调试时,并不认输出目录,也就是编译打包会输出到指定目录下,但是Android Studio还是会在默认目录寻找apk,找不到就会报错,不会自动安装。