Intereting Posts
Службы Google Play на Android Emulator 4.2.2 или выше. «Демоверсии Google Maps API не будут работать, если вы не обновите сервисы Google Play» Андроид listview быстрый запрос настройки прокрутки Тестирование единицы измерения Хранение секретного ключа на Android Переместите ImageView с текущей позиции на фиксированную позицию, используя трансляцию анимации Hello-JNI для Android Studio Граница формы Android с градиентом ProGuard вызывает SSL-квитирование на Android Android Studio использует 100% процессор на процессоре i7 для проекта Rebuild Как получить менеджер медиапроекции, не нарушая текущий процесс переднего плана, за исключением того, что он просит разрешить? SurfaceView в сервисе 2 вопроса о программировании сокетов с Android Загрузить контактный образ в битмап ADT 22.2 Мастер создания новых приложений: неподдерживаемая зависимость шаблона: обновите плагин Android Eclipse Как реализовать многострочный EditText с кнопкой ActionDone (без кнопки Enter)

Обновление 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:

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

Согласно этому форуму: 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». Это означает, что он уже выровнен.