Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье объясняется, как вручную подписать код своего приложения 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
При появлении запроса введите пароль хранилища ключей, созданный ранее.
Объяснение параметров:
| Параметр | Description |
|---|---|
| genkey | Команда для генерации ключа |
| alias | Псевдоним для входа в хранилище ключей |
| keyalg | Имя алгоритма ключа |
| keystore | Имя хранилища ключей |
| keysize | Размер каждого ключа |
| validity | Срок действия ключа в днях |
| exportcert | Считывает сертификат из хранилища ключей |
| openssl | Генерирует ключ SHA1 для Android |
Для автоматического процесса подписания хранилища ключей
Сгенерируйте хэш-ключ подписи и сертификат
Выполните следующую команду в командной строке:
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
При появлении запроса введите пароль хранилища ключей, созданный ранее.
Объяснение параметров:
| Параметр | Description |
|---|---|
| genkey | Генерирует ключ. |
| alias | Псевдоним для записи в хранилище ключей. |
| keyalg | Имя алгоритма ключа. |
| keystore | Имя хранилища ключей. |
| keysize | Размер каждого ключа. |
| validity | Срок действия ключа в днях. |
| exportcert | Считывает сертификат из хранилища ключей |
| openssl | Генерирует ключ SHA1 для Android |
Ручное подписывание пакета 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
Объяснение параметров:
| Параметр | Description |
|---|---|
| ks | Путь к файлу хранилища ключей (например C:\Users\name\Desktop\powerappswrap.jks) |
| ks-key-alias | Псевдоним, который вы использовали при создании ключа (например, powerappswrap) |
| PATH_TO_APK | Полный путь к файлу APK (например C:\Users\name\Downloads\MyApp.apk) |
При появлении запроса введите пароль хранилища ключей.
Example:
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-напрямую пользователям для ручной установки.