Intereting Posts

Обновление Android Studio 2.2: выровненный APK (zipAlign), не сгенерированный с использованием нового Gradle Plugin 2.2.0

После обновления 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):

Благодаря Фейдеру Флорезу за его ответ. Правильно, среда сборки теперь создает только один 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:

Проверка завершена

Solutions Collecting From Web of "Обновление Android Studio 2.2: выровненный APK (zipAlign), не сгенерированный с использованием нового Gradle Plugin 2.2.0"

Согласно этому форуму: https://code.google.com/p/android/issues/detail?id=212591

«Привет, мы больше не генерируем неприглаженные апки. В рамках улучшения скорости работы мы генерируем apk, уже выровненный. Итак, вместо двух вы просто получаете финальную версию.

@ Yair.kikielka Спасибо. "

Ответить EDIT (20160922):

Итак, выходной файл действительно выровнен?

Да ! Вы можете проверить использование

Zipalign -c -v 4 path / fileName

Когда вы запускаете эту команду в файлах apk, которые генерируются версией gradle> = 2.2, вы получите «Verification succesful». Это означает, что он уже выровнен.