После обновления 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
.
EDIT (20160922):
Благодаря Fayder Florez за его ответ. Правильно, среда сборки теперь производит только один apk (https://code.google.com/p/android/issues/detail?id=212591).
Но используя код (который переименовывает имя выходного файла с помощью VERSION CODE
и 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
- false
.
Итак, выходной файл действительно выровнен?
EDIT (20161013)
Благодаря end0421 и предложению проверить apk с помощью инструмента построения:
zipalign -c -v 4 path/fileName
Теперь Теперь, когда APK генерируется правильно, а команда zipalign syays:
Успешная проверка