この記事では、Power Apps のラップで使用する Android (APK) アプリを手動でコード署名する方法について説明します。 ラップ プロジェクトを作成およびビルドする際に、プラットフォーム の 1 つとして Android を選択した場合は、Android にアプリに署名してください。
重要
Google Play 配布のために AAB アプリに署名するには、アプリに署名するを参照してください。
開始する前に
必要なソフトウェア
始める前に、以下をインストールして設定します。
- Android Studio
- OpenSSL
- apksigner ツール (Android Studio に付属)
前提条件
以下のものが必要です:
- ハッシュ キーを作成するアプリケーション名。
- サインインに使用する最新の APK ファイル。
注意
手動署名には拡張子 .jks を使用し、自動署名には拡張子 .pfx を使用します。
キーと署名ハッシュを生成します
環境変数の設定
環境変数を設定しない場合:
- Android Studio と OpenSSL のダウンロードとインストール
- PATH 環境変数に
keytoolとopensslを追加します。- パス
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
次のようなメッセージが表示されます。
- キーストアのパスワードを入力します。
- 名前、組織、場所、その他の必要な詳細を入力します。
- 情報を確認します。
次のコマンドを実行して、キーと証明書を生成します。
keytool -exportcert -alias powerappswrap -keystore powerappswrap.jks | openssl sha1 -binary | openssl base64
プロンプトが表示されたら、先ほど作成したキーストアのパスワードを入力します。
説明されたパラメーター:
| パラメーター | プロパティ |
|---|---|
| genkey | キーを生成するコマンド |
| alias | キーストアエントリの別名 |
| keyalg | キー アルゴリズムの名前 |
| keystore | keystore の名前 |
| keysize | 各キーのサイズ |
| 有効性 | キーの有効期間 (日数) |
| exportcert | キーストアから証明書を読み取ります |
| openssl | Android 用の SHA1 キーの生成 |
自動 Key Vault 署名プロセスの場合
署名ハッシュ キーと証明書を生成する
コマンド プロンプトで次のコマンドを実行します。
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 | キーを生成します。 |
| alias | キーストア・エントリの別名。 |
| keyalg | キー アルゴリズムの名前。 |
| keystore | keystore の名前。 |
| keysize | 各キーのサイズ。 |
| 有効性 | キーの有効期間 (日数)。 |
| exportcert | キーストアから証明書を読み取ります |
| openssl | Android 用の SHA1 キーの生成 |
APK パッケージの手動による署名 (KV 署名用ではありません)
ラップ中に自動ログインを使用しない場合や、Play ストアに AAB ファイルをアップロードしようとする場合は、こちらの手順を行ってください。 このプロセスを繰り返さないようにするには、可能な場合は自動サインインを使用します。
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 | keystore ファイルへのパス (例: C:\Users\name\Desktop\powerappswrap.jks) |
| ks-key-alias | キーの生成時に使用したエイリアス (例: powerappswrap) |
| PATH_TO_APK | APK ファイルへのフルパス (例: C:\Users\name\Downloads\MyApp.apk) |
プロンプトが表示されたら、keystore のパスワードを入力します。
用例:
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 に iOS/iPadOS を追加するを参照してください。
Intune アプリ保護: Intune アプリ保護サービスにアプリのアクセス権を付与する方法については、Intune アプリ保護サービスにアプリのアクセス権を付与する を参照してください。
直接配布: 署名済みの APK をユーザーに直接配布して、手動でインストールすることもできます。