О каких мерах предосторожности и предупреждениях следует знать при использовании новой «Схемы подписки 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. Это правда?

  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.

Intereting Posts
Настроить элементы диалогового окна выпадающего списка в WebView Android build release apk на jenkins, без сохранения моего пароля в текстовом виде Пример того, как реализовать ALTER TABLE Android. Измените источник изображения на время запуска через несколько секунд. Переименовать папку на SD-карте Google AppInvites break build Обменивать фрагмент в активности через анимацию Android OkHttp library: GET Request – Exception EOFException: \ n не найдено: size = 0 content = RecyclerView.getChild (index) показывает null, когда список прокручивается (индекс перепутался) Как рисовать html-книгу для отображения в приложении на основе Android-браузера Как определить количество используемых пальцев? Анимированные вложенные фрагменты Android Автоматическая загрузка автономного языка распознавания речи на Android Поддерживаемые размеры предварительного просмотра камер для популярных телефонов Android Не удалось создать виртуальное устройство Android в Android Studio Setup Wizard