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.zipAlign
false
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
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