Підписання коду для Android

У цій статті пояснюється, як вручну підписати свій Android додаток (APK) для Power Apps обгортання. Підпишіть свій додаток Android , якщо ви виберете Android як одну з платформ під час створення та створення свого обгорткового проекту.

Важливо

Щоб підписати додаток AAB для розповсюдження в Google Play, перегляньте статтю Підпис додатка.

Підготовка

необхідне програмне забезпечення

Перш ніж почати, встановіть і налаштуйте:

вимоги

Тобі потрібно:

  • Ім’я програми для створення хеш-ключа.
  • Останній APK-файл для входу.

Примітка

Використовуйте .jks розширення для підписання вручну та .pfx розширення для автоматичного підписання.

Згенеруйте хеш ключа та підпису

Примітка

Перейдіть до підписання вручну , якщо ви вже згенерували ключі та хеш підпису під час реєстрації програми.

Налаштування змінних середовища

Якщо ви не встановили змінні середовища:

  1. Завантажте і встановіть Android Studio і OpenSSL.
  2. Додайте keytool та openssl до вашої змінної середовища PATH:
    • Додайте C:\Program Files\Android\Android Studio\jbr\bin до свого ШЛЯХУ.
    • Додайте шлях openssl.exe (наприклад, C:\Program Files\OpenSSL-Win64\bin) до вашого ШЛЯХУ.

Для процесу підписання вручну

Генерація хеш-ключа підпису та сертифіката

Виконайте цю команду в командному рядку:

keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000

Коли з’явиться запит:

  1. Введіть пароль для сховища ключів.
  2. Введіть своє ім’я, організацію, місцезнаходження та інші необхідні дані.
  3. Підтвердіть інформацію.

Виконайте цю команду, щоб згенерувати ключ і сертифікат:

keytool -exportcert -alias powerappswrap -keystore powerappswrap.jks | openssl sha1 -binary | openssl base64

Коли з’явиться запит, введіть пароль сховища ключів, який ви створили раніше.

Скріншот з командою keytool з використанням параметрів у прикладі, показаному раніше.

Пояснення параметрів:

Параметр Опис
Генкі Команда для генерації ключа
Псевдонім Псевдонім для запису сховища ключів
Кейалг Найменування ключового алгоритму
сховище ключів Назва сховища ключів
Розмір ключа Розмір кожного ключа
Термін дії Термін дії ключа в днях
Експортний сертифікат Зчитує сертифікат зі сховища ключів
openssl Генерує ключ SHA1 для Android

Для автоматичного підписання сховища ключів

Генерація хеш-ключа підпису та сертифіката

Виконайте цю команду в командному рядку:

keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000

Коли з’явиться запит:

  1. Введіть пароль для сховища ключів.
  2. Введіть своє ім’я, організацію, місцезнаходження та інші необхідні дані.
  3. Підтвердіть інформацію.

Виконайте цю команду, щоб згенерувати ключ і сертифікат:

keytool -exportcert -alias powerappswrap -keystore powerappswrap.pfx | openssl sha1 -binary | openssl base64

Коли з’явиться запит, введіть пароль сховища ключів, який ви створили раніше.

Скріншот команди keytool з використанням параметрів у прикладі, показаному раніше.

Пояснення параметрів:

Параметр Опис
Генкі Генерує ключ.
Псевдонім Псевдонім для запису сховища ключів.
Кейалг Назва ключового алгоритму.
сховище ключів Назва сховища ключів.
Розмір ключа Розмір кожного ключа.
Термін дії Термін дії ключа в днях.
Експортний сертифікат Зчитує сертифікат зі сховища ключів
openssl Генерує ключ SHA1 для Android

Ручне підписання пакета APK (не для підписання KV)

Дотримуйтеся цих вказівок, якщо ви не використовуєте автоматичний вхід під час wrap або намагаєтеся завантажити файл AAB для Play Маркету. Щоб уникнути повторення цього процесу, використовуйте автоматичний вхід, коли це можливо.

Знайдіть інструмент apksigner

  1. Відкритий Android Studio.
  2. Перейдіть до розділу Розташування>SDK Менеджера>Android інструментів , щоб знайти шлях до SDK.
  3. У каталозі SDK перейдіть до:
    • build-tools>[номер версії]> знайти apksigner.bat (Windows) або apksigner (Mac/Linux)
    • Або: build-tools>[номер версії]>lib> знайти apksigner.jar

Скріншот з інформацією про місцезнаходження apksigner.

Підпишіть файл APK

Виконайте цю команду, щоб підписати файл .apk:

apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK

Пояснення параметрів:

Параметр Опис
кс Шлях до файлу сховища ключів (наприклад, C:\Users\name\Desktop\powerappswrap.jks)
ks-key-псевдонім Псевдонім, який ви використовували під час створення ключа (наприклад,) powerappswrap
PATH_TO_APK Повний шлях до вашого файлу APK (наприклад, C:\Users\name\Downloads\MyApp.apk)

Коли з’явиться запит, введіть пароль сховища ключів.

Приклад:

apksigner.bat sign --ks C:\Users\name\Desktop\powerappswrap.jks --ks-key-alias powerappswrap C:\Users\name\Desktop\MyApp.apk

Перевірте підпис

Після підписання перевірте підпис APK за допомогою:

apksigner.bat verify --verbose PATH_TO_APK

Успішна перевірка підтверджує, що ваш файл .apk правильно підписаний і готовий до розповсюдження.

Для отримання додаткової інформації перегляньте Android Studio статтю Інструменти командного рядка: apksigner.

Розповсюдження програми

Підписавши програму, ви можете розповсюджувати її кількома способами:

Варіанти поширення

  • Microsoft Intune: щоб розповсюджувати за допомогою Microsoft Intune, перегляньте статтю Додавання Android програми для бізнесу до Microsoft Intune.

  • Захист додатків Intune: щоб надати програмі доступ до служби захисту програм Intune, перегляньте статтю Надання програмі доступу до служби захисту програм Intune.

  • Пряме розповсюдження: підписаний файл APK також можна розповсюджувати безпосередньо серед користувачів для ручного встановлення.

Див. також