Sau khi cập nhật Android Studio lên phiên bản 2.2, tôi cũng có bản cập nhật cho Plugin Gradle (nó là 2.1.3):Android Studio 2.2: APK được căn chỉnh (zipAlign) không được tạo bằng Plugin Gradle mới 2.2.0
...
classpath 'com.android.tools.build:gradle:2.2.0'
...
Tôi thấy tệp APK biến thể chưa được căn chỉnh nhưng các biến thể khác không được tạo nữa. Tôi đã cố bật tính năng căn chỉnh mã zip:
buildTypes {
release {
minifyEnabled false
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
applicationIdSuffix '.debug'
}
}
nhưng không có gì thay đổi. Bất kỳ ý tưởng?
tôi "giải quyết" quay lưng lại để
classpath 'com.android.tools.build:gradle:2.1.3'
ở cấp dự án build.gradle
.
EDIT (20.160.922):
Nhờ Fayder Florez cho câu trả lời của mình. Đúng vậy, môi trường xây dựng hiện chỉ tạo ra một gói ứng dụng (https://code.google.com/p/android/issues/detail?id=212591).
Nhưng sử dụng bởi mã (mà đổi tên de tên cho file xuất sử dụng VERSION CODE
và 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)
}
}
tôi nhận được "_unaligned" gắn vào tên tập tin đầu ra, vì vậy tôi giả sử rằng output.zipAlign
là false
.
Vì vậy, tệp đầu ra có thực sự được căn chỉnh không?
EDIT (20161013)
Nhờ ending0421 và đó là gợi ý để kiểm tra các gói ứng dụng bằng cách sử dụng công cụ xây dựng:
căn chỉnh nén -c -v 4 path/fileName
Bây giờ Tôi bây giờ rằng APK được tạo chính xác và các thông số lệnh zipalign:
xác nhận thành công
Tôi xác minh rằng output.zipalign luôn là null và do đó điều kiện if được thỏa mãn và tên gói ứng dụng được tạo chứa hậu tố "_unaligned.apk" (theo mã trong OP). Tuy nhiên tập tin kết quả là zipaligned. – drulabs