将 Android Studio 更新到版本 2.2 后,我还获得了 Gradle 插件的更新(它是 2.1.3):
...
classpath 'com.android.tools.build:gradle:2.2.0'
...
我看到未对齐的变体 APK 文件,但不再生成其他变体。我尝试启用 zip 对齐:
buildTypes {
release {
minifyEnabled false
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
applicationIdSuffix '.debug'
}
}
但没有任何改变。有任何想法吗?
我“解决”回到
classpath 'com.android.tools.build:gradle:2.1.3'
在项目层面build.gradle
.
编辑(20160922):
感谢费德·弗洛雷斯对于他的回应。是的,构建环境现在只生成一个 apk (https://code.google.com/p/android/issues/detail?id=212591 https://code.google.com/p/android/issues/detail?id=212591).
但是通过代码使用(使用重命名输出文件名VERSION CODE
and VERSION NAME
):
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
def padVersionCode = variant.versionCode.toString();
padVersionCode = padVersionCode.padLeft(5, '0')
def newApkName = "${output.baseName}_${padVersionCode}-${variant.versionName}"
if (!output.zipAlign)
newApkName = newApkName + "_unaligned"
newApkName = newApkName + ".apk"
output.outputFile = new File(output.outputFile.parent, newApkName)
}
}
我将“_unaligned”附加到输出文件名中,所以我想output.zipAlign
is false
.
那么输出文件真的对齐了吗?
编辑(20161013)
感谢结局0421建议使用构建工具检查 apk:
zipalign -c -v 4 路径/文件名
Now 我现在 APK 已正确生成和 zipalign 命令统计信息:
验证成功