Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье объясняется, как вручную подписать код своего приложения Android (APK) для упаковки Power Apps. Подпишите свое приложение для Android, если вы выбрали Android как одну из платформ при создании и сборке своего проекта упаковки.
Внимание!
Сведения о том, как подписать приложение AAB для распространения через Google Play, см. в разделе Подписание приложения.
Подготовка к работе
Необходимое программное обеспечение
Прежде чем начать, установите и настройте:
- Android Studio
- OpenSSL
- Инструмент apksigner (в комплекте Android Studio)
Предварительные требования
Необходимые компоненты:
- Имя приложения для создания хэш-ключа.
- Новейший файл APK для входа.
Примечание.
Используйте расширение .jks
для подписания вручную и расширение .pfx
для автоматического подписания.
Генерирование ключа и хэша подписи
Примечание.
Пропустите и перейдите к разделу Подписание вручную, если вы уже сгенерировали ключи и хэш подписи при создании регистрации приложения.
Настройка переменных среды
Если вы не зададите переменные среды:
- Загрузите и установите Android Studio и OpenSSL.
- Добавьте
keytool
иopenssl
в переменную среды PATH:- Добавьте
C:\Program Files\Android\Android Studio\jbr\bin
в переменную PATH. - Добавьте путь к
openssl.exe
(например,C:\Program Files\OpenSSL-Win64\bin
) к вашей переменной PATH.
- Добавьте
Для процесса подписывания вручную
Генерирование ключа хэша подписи
Выполните следующую команду в командной строке от лица администратора, чтобы сгенерировать ключ:
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000
При появлении запроса:
- Введите пароль для хранилища ключей.
- Введите свое имя, организацию, местоположение и другие необходимые данные.
- Подтвердите сведения.
Создание сертификата
Выполните эту команду, чтобы сгенерировать сертификат
keytool -exportcert -alias powerappswrap -keystore powerappswrap.jks | openssl sha1 -binary | openssl base64
При появлении запроса введите пароль хранилища ключей, созданный ранее.
Объяснение параметров:
Параметр | Описаниен |
---|---|
genkey | Команда для генерации ключа |
псевдоним | Псевдоним для записи хранилища ключей |
keyalg | Имя алгоритма ключа |
keystore | Имя хранилища ключей |
keysize | Размер каждого ключа |
validity | Срок действия ключа в днях |
Для автоматического процесса подписания хранилища ключей
Генерирование ключа хэша подписи
Откройте командную строку от лица администратора и выполните следующую команду, чтобы сгенерировать ключ:
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000
При появлении запроса:
- Введите пароль для хранилища ключей.
- Введите свое имя, организацию, местоположение и другие необходимые данные.
- Подтвердите сведения.
Создание сертификата
Выполните следующую команду, чтобы сгенерировать сертификат:
keytool -exportcert -alias powerappswrap -keystore powerappswrap.pfx | openssl sha1 -binary | openssl base64
При появлении запроса введите пароль хранилища ключей, созданный ранее.
Объяснение параметров:
Параметр | Описаниен |
---|---|
genkey | Генерирует ключ. |
псевдоним | Псевдоним для записи хранилища ключей. |
keyalg | Имя алгоритма ключа. |
keystore | Имя хранилища ключей. |
keysize | Размер каждого ключа. |
validity | Срок действия ключа в днях. |
Ручная подпись пакета APK (не для подписи KV)
Выполните следующие действия, если вы не используете автоматический вход во время упаковки или пытаетесь отправить файл AAB для Магазина Google Play. Чтобы избежать повторения этого процесса, по возможности используйте автоматический вход.
Найдите инструмент apksigner
- Открыть Android Studio.
- Перейдите в раздел Инструменты>Диспетчер SDK>Расположение Android SDK, чтобы найти путь к SDK.
- В каталоге SDK перейдите в:
- build-tools>[номер версии]> найдите apksigner.bat (Windows) или apksigner (Mac/Linux)
- Или: build-tools>[номер версии]>lib> найдите apksigner.jar
Подпишите APK-файл
Выполните эту команду, чтобы подписать APK-файл:
apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK
Объяснение параметров:
Параметр | Описаниен |
---|---|
ks | Путь к файлу хранилища ключей (например C:\Users\name\Desktop\powerappswrap.jks ) |
ks-key-alias | Псевдоним, который вы использовали при создании ключа (например, 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-напрямую пользователям для ручной установки.