О каких мерах предосторожности и предупреждениях следует знать при использовании новой «Схемы подписки APK v2»?

Задний план

Недавно, когда я собирался подписать APK для публикации в Play Store, у меня появился этот новый вариант:

Введите описание изображения здесь

Нажав на ссылку «Подпись справки», откройте эту веб-страницу: https://developer.android.com/about/versions/nougat/android-7.0.html#apk_signature_v2

Поиск больше, я нашел это:

http://android-developers.blogspot.co.il/2016/11/understanding-apk-packaging-in-android-studio-2-2.html

Оказывается, это новая проверка на Android 7.x, которая может помочь сделать APK более безопасным, но также немного меньшим по размеру.

Я попытался использовать эту новую функцию, и, как было написано в блоге, это делает APK немного меньше. Кроме того, как было написано, это подразумевается только на Android 7.x и выше (но вы можете фактически подписываться с использованием обоих методов в том же APK, что также позволяет устанавливать приложение на более ранних версиях Android).

Проблема

Я не понимаю, можно ли использовать новый механизм подписания и что именно они предупреждают о документах.

Есть хотя бы одно предупреждение, которое я прочитал, что, по моему мнению, не требуется особой заботы для большинства разработчиков:

Внимание: если вы подписываете свое приложение с помощью APK Signature Scheme v2 и вносите дальнейшие изменения в приложение, подпись приложения недействительна. По этой причине используйте инструменты, такие как zipalign, перед подписанием вашего приложения, используя APK Signature Scheme v2, а не после.

Я думаю, что могу игнорировать это предупреждение, потому что я просто позволяю самой IDE создавать APK, используя поведение по умолчанию.

Что я пробовал

Я пробовал использовать все 3 способа подписать приложение:

  • v1
  • v2
  • V1 & v2 (вместе в одном APK)

Похоже, что v2 не может быть установлен на версии до 7.x Android, но остальное может, и также кажется, что v2 меньше, чем v1, в то время как v1 и v2 на самом деле немного больше, чем v1.

Вопросы

  1. Безопасно ли переключиться с старого подписи на новое (включение обоих подписание курса)?

  2. У пользователей возникнут проблемы с обновлением? Будут ли пользователи обновляться с v1 до v2 или с v2 (или v1 и v2) до v1 (в случае, если что-то пошло не так) – есть ли какие-либо проблемы?

  3. Должен ли я знать о любых предупреждениях? Правильно ли я мог игнорировать предупреждение, о котором я говорил?

  4. Помимо лучшей безопасности, что подписывается с помощью v1 & v2 (вместе), что у меня нет на v1?

  5. Я предполагаю, что только с Android 7 мы сможем использовать только v2, что дает возможность иметь меньшие APK. Это правда?

Solutions Collecting From Web of "О каких мерах предосторожности и предупреждениях следует знать при использовании новой «Схемы подписки APK v2»?"

  1. Безопасно ли переключиться с старого подписи на новое (включение обоих подписание курса)?

Да. До тех пор, пока вы не измените APK после подписания, вы добры.

  1. У пользователей возникнут проблемы с обновлением? Будут ли пользователи обновляться с v1 до v2 или с v2 (или v1 и v2) до v1 (в случае, если что-то пошло не так) – есть ли какие-либо проблемы?

Без вопросов. Как только диспетчер пакетов Android проверяет подпись APK (используя схему v1 или v2), он извлекает сертификат (ы) подписывания и затем основывает любую дальнейшую логику (например, этот APK разрешен для использования только как обновление для старого) На сертификат (ы) подписывания. Таким образом, до тех пор, пока ваш APK подписан с использованием того же сертификата (ов) подписки, вы должны быть хорошими.

  1. Должен ли я знать о любых предупреждениях? Правильно ли я мог игнорировать предупреждение, о котором я говорил?

Вы можете игнорировать это конкретное предупреждение, если вы используете только Android-плагин для Gradle / Android Studio для создания и подписи APK. Предупреждение существует для разработчиков, которые используют настраиваемые конвейеры сборки, которые могут изменить APK после подписания.

Я не знаю никаких других предупреждений.

  1. Помимо лучшей безопасности, что подписывается с помощью v1 & v2 (вместе), что у меня нет на v1?

Подпись v2 проверяется намного быстрее. Это означает, что AP2 с поддержкой V2 устанавливают / обновляют бит быстрее на Android Nougat (Android 7.0, API Level 24) и новее.

  1. Я предполагаю, что только с Android 7 мы сможем использовать только v2, что дает возможность иметь меньшие APK. Это правда?

Верный. Однако сохранение размера APK никогда не было целью APK Signature Scheme v2. Экономия – это всего лишь небольшая цифра, пропорциональная количеству файлов в APK, а не их размеру. Вы сохраняете данные в файлах в файлах META-INF/MANIFEST.MF и META-INF/*.SF . META-INF/*.(RSA|DSA|EC) заменяется аналоговым блоком APK Signature Scheme v2 Block в другом месте APK.