作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用当前应用程序版本和风格名称编写 .apk
文件名。我也想添加当前的 ABI 拆分名称,但前提是它是通用 apk。
我的相关 build.gradle
部分:
buildTypes {
release {
applicationVariants.all { variant ->
variant.outputs.each { output ->
def flavor = .... // some code to parse flavor & determine an appropriate string from it
output.outputFile = new File(output.outputFile.parent, "app_" + flavor + "_0" + variant.versionCode + ".apk")
}
}
}
}
productFlavors {
deploy {
splits {
abi {
enable true
reset()
include 'armeabi-v7a' //select ABIs to build APKs for
universalApk true //generate an additional APK that contains all the ABIs
}
}
}
}
目前此配置生成两个.apks,但它们的文件名相同,因为我不知道如何获取ABI名称,所以后生成的会覆盖之前生成的。
那么,当前 ABI 拆分的等效 variant.productFlavors.get(0)
是什么?
最佳答案
这很奇怪,因为 flavor 和 ABI-name 会自动添加到构建名称中(如果你进行相应的组装)
你能不能尝试完全删除你自定义的命名
applicationVariants.all { variant ->
variant.outputs.each { output ->
def flavor = .... // some code to parse flavor & determine an appropriate string from it
output.outputFile = new File(output.outputFile.parent, "app_" + flavor + "_0" + variant.versionCode + ".apk")
}
}
而不是尝试将这一行添加到 defaultConfig
archivesBaseName = "app_${versionCode}"
如果这不能解决您的问题,您可以尝试从输出中获取 abi
output.getFilter(com.android.build.OutputFile.ABI)
关于android - 如何在 Gradle 输出迭代器中获取 ABI 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39291643/
我是一名优秀的程序员,十分优秀!