2016-09-20 3 views
11

Nach dem Update Android Studio auf die Version 2.2 erzeugt wurde ich auch ein Update für das Gradle Plugin bekam (es war 2.1.3):Android Studio 2.2 Update: ausgerichtet APK (Zipalign) nicht das neue Gradle Plugin 2.2.0

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

Ich sehe die nicht ausgerichtete Variante APK-Datei, aber andere Varianten werden nicht mehr generiert. Ich habe versucht, die zip-Ausrichtung zu aktivieren:

aber nichts ändert sich. Irgendwelche Ideen?

I "gelöst" Zurück mehr zu

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

in der Projektebene build.gradle.

EDIT (20160922):

Dank Fayder Florez für seine Antwort. Es ist korrekt, die Build-Umgebung erzeugt jetzt nur eine Apk (https://code.google.com/p/android/issues/detail?id=212591).

Aber mithilfe von Code (diese Umbenennungs de Ausgabedateinamen VERSION CODE und VERSION NAME): in die Ausgabedatei Namen

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) 
    } 
} 

ich die "_unaligned" angehängt, so nehme ich an, dass output.zipAlignfalse ist.

Also ist die Ausgabedatei wirklich ausgerichtet?

EDIT (20161013)

Dank ending0421 und es ist Vorschlag, die apk mit dem Build-Tool zu überprüfen:

Zipalign -c -v 4 path/filename

Jetzt Ich jetzt, dass die APK korrekt generiert und die zipalign Befehl syays:

Überprüfung erfolgreich

+0

Ich verifiziert, dass output.zipalign immer Null ist und daher die If-Bedingung erfüllt wird und der erzeugte apk-Name das Suffix "_unaligned.apk" enthält (laut Code in OP). Die resultierende Datei ist jedoch zip-ausgerichtet. – drulabs

Antwort

7

Nach diesem Forum: https://code.google.com/p/android/issues/detail?id=212591

„Hallo, wir erzeugen keine unaligned APKs mehr. Als Teil der Verbesserungen, um Dinge zu beschleunigen, generieren wir die apk bereits ausgerichtet. Also, statt zwei, bekommen Sie nur das letzte. .

@ yair.kikielka Dank“

4

Antworten EDIT (20160922):

So ist die Ausgabedatei wirklich ausgerichtet

Ja?!Sie können überprüfen,

Zipalign -c -v 4 path/filename

Verwendung Wenn Sie diesen Befehl auf apk Dateien ausgeführt, die durch gradle Version erzeugt> = 2,2, werden Sie "Überprüfung erfolgreich" erhalten. Das bedeutet bereits ausgerichtet.

Verwandte Themen