Если я подписываю AAB с помощью jarsigner, нужно ли мне подписывать APKS, а также полученные APK перед развертыванием? - PullRequest
0 голосов
/ 06 августа 2020

В Azure DevOps, я распаковываю aab, изменяю некоторые файлы (значки, ресурсы, манифест) в aab и использую bundletool для сборки модулей. Мои следующие шаги:

  1. Используйте jarsigner для подписи aab
  2. Используйте bundletool для создания APKS и передачи информации для подписи
  3. Распакуйте / извлеките универсальный APK в it
  4. Используйте jarsigner, чтобы подписать APK и отправить его на тестовые устройства

Я предполагаю, что я подписываю больше раз, чем необходимо, поскольку я делаю это 3 раза ( AAB, APKS и APK). Какое подписание необходимо? Для каждой задачи подписи требуется менее 10 секунд, но каждая задача добавляет дополнительную сложность, и я хотел бы, чтобы это было как можно проще для повторного использования.

Ответы [ 2 ]

1 голос
/ 07 августа 2020

Вот краткое изложение необходимой подписи:

Пакет приложений (.aab)

Требуется подпись (с jarsigner) перед загрузкой в ​​Play Store.

Во время разработки или тестирования подпись не требуется.

Набор APK (.apks)

Подпись не требуется. Всегда.

APK (.apk) (те, что находятся в наборе APK)

Всегда требуется подпись (если вы не собираетесь устанавливать эти APK).

Bundletool автоматически подписывает им APK-файлы, которые он генерирует в .apks при передаче флага --ks, поэтому большинству разработчиков никогда не придется делать это самим.

Однако вы упомянули, что вы измените «некоторые файлы»: если вы измените APK, вам нужно будет подписать их снова (в идеале с помощью apksigner, а не jarsigner - более безопасный и ускоряет установку APK).

0 голосов
/ 07 августа 2020

Это пример создания пакета приложений Android с использованием Xamarin и Azure DevOps: https://damienaicheh.github.io/xamarin/azure/devops/2020/02/03/generate-android-app-bundle-xamarin-azure-devops-en.html

И эта документация по Xamarin. Android app-bundles https://github.com/xamarin/xamarin-android/blob/master/Documentation/guides/app-bundles.md Скажите, что: «Пакеты приложений можно подписать только с помощью jarsigner (не apksigner). В пакетах приложений не нужно использовать zipalign. Xamarin. Android следует go вперед и подпишите файл .aab так же, как это делается сейчас для файлов .apk. Файл com.company.app-Signed.aab будет создан в $(OutputPath), чтобы соответствовать нашему текущему поведению с файлами APK. "

...