Android Studio 2.2 update: aligned APK (zipAlign) not generated using the new Gradle Plugin 2.2.0

拈花ヽ惹草 提交于 2019-12-04 09:19:47

问题


After updating Android Studio to version 2.2 I also got an update for the Gradle Plugin (it was 2.1.3):

...
classpath 'com.android.tools.build:gradle:2.2.0'
...

I see the unaligned variant APK file but other variants are not generated anymore. I tryed to enable the zip align:

buildTypes {
        release {
            minifyEnabled false
            zipAlignEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
        debug {
            applicationIdSuffix '.debug'
        }
}  

but nothing changes. Any ideas?

I "solved" turning back to

classpath 'com.android.tools.build:gradle:2.1.3'

in the project level build.gradle.

EDIT (20160922):

Thanks to Fayder Florez for his response. It's correct, the build environment now produce only one apk (https://code.google.com/p/android/issues/detail?id=212591).

But using by code (that rename de output file name using 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)
    }
}

I get the "_unaligned" appended to the output file name, so I suppose that output.zipAlign is false.

So is the output file really aligned?

EDIT (20161013)

Thanks to ending0421 and it's suggestion to check the apk using the build tool:

zipalign -c -v 4 path/fileName

Now I now that the APK is generated correctly and the zipalign command syays:

Verification succesful


回答1:


According to this forum: https://code.google.com/p/android/issues/detail?id=212591

"Hi, we don't generate unaligned apks any more. As part of the improvements to speed things, we generate the apk already aligned. So, instead of two, you just get the final one.

@yair.kikielka Thanks."




回答2:


Reply EDIT (20160922):

So is the output file really aligned?

Yes ! You can verify using

zipalign -c -v 4 path/fileName

When you run this command on apk files which generated by gradle version >=2.2 , you will get "Verification succesful" . That means already aligned .



来源:https://stackoverflow.com/questions/39591278/android-studio-2-2-update-aligned-apk-zipalign-not-generated-using-the-new-gr

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!