Подтвердить что ты не робот

Обновление Android Studio 2.2: выровненный APK (zipAlign), не сгенерированный с использованием нового Gradle плагина 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):

Благодаря 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:

Успешная проверка

4b9b3361

Ответ 1

В соответствии с этим форумом: https://code.google.com/p/android/issues/detail?id=212591

"Привет, мы больше не генерируем неглавные apks. Как часть улучшений для ускорения работы, мы генерируем apk, уже выровненный. Таким образом, вместо двух вы получаете только финальную версию.

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

Ответ 2

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

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

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

zipalign -c -v 4 path/fileName

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