我正在.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
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
目前这个配置生成两个.apks,但它们都有相同的文件名,因为我不知道如何获取ABI名称,因此后来生成的文件会覆盖之前生成的名称.
那么,variant.productFlavors.get(0)当前ABI拆分的等价物是什么?
小智 6
这很奇怪,因为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")
}
}
Run Code Online (Sandbox Code Playgroud)
而不是尝试添加到defaultConfig这一行
archivesBaseName = "app_${versionCode}"
Run Code Online (Sandbox Code Playgroud)
如果这不能解决您的问题,您可以尝试从输出中获取abi
output.getFilter(com.android.build.OutputFile.ABI)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1432 次 |
| 最近记录: |