Android - zipalign не работает перед apksigner

Я в настоящее время в процессе обновления от подписи V1 (jarsigner) к подписи V2 (apksigner). Jarsigner работает для меня без проблем, однако я сталкиваюсь с проблемами с zipalign в моем build.gradle, прежде чем я смогу запустить apksigner,

В командной строке я знаю, что есть взломать zipalign дважды, что работает для меня.

Тем не менее, когда я бегу zipalign на Дженкинс я получаю эту ошибку:

Процесс 'command '/Users/admin/Library/Android/sdk/build-tools/27.0.1/zipalign'' завершен с ненулевым значением выхода 1

Что я могу сделать, чтобы сделать zipalign работать, чтобы я мог использовать apksigner?

1 ответ

Решение

Я смог прийти к решению с попыткой поймать. Это некрасиво, но это работает.

try {
    println "Zipaligning ${apkFile.name}"
    exec {
        commandLine zipalign, '-f', '4', apkFile.canonicalPath, tempAPK.canonicalPath
    }
} catch (err) {
    // Zipalign twice if first zipalign fails
    exec {
        commandLine zipalign, '-f', '4', tempAPK.canonicalPath, signedAPK.canonicalPath
    }
}
Другие вопросы по тегам