次の方法で共有


Android のコード署名

この記事では、Power Apps のラップで使用する Android (APK) アプリを手動でコード署名する方法について説明します。 ラップ プロジェクトを作成およびビルドする際に、プラットフォーム の 1 つとして Android を選択した場合は、Android にアプリに署名してください。

重要

Google Play 配布のために AAB アプリに署名するには、アプリに署名するを参照してください。

開始する前に

必要なソフトウェア

始める前に、以下をインストールして設定します。

前提条件

以下のものが必要です:

  • ハッシュ キーを作成するアプリケーション名。
  • サインインに使用する最新の APK ファイル。

注意

手動署名には拡張子 .jks を使用し、自動署名には拡張子 .pfx を使用します。

キーと署名ハッシュを生成します

注意

アプリの登録 時にキーと署名ハッシュをすでに生成している場合は、手動署名 をスキップします。

環境変数の設定

環境変数を設定しない場合:

  1. Android Studio と OpenSSL のダウンロードとインストール
  2. PATH 環境変数に keytoolopenssl を追加します。
    • パス 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 コマンドを実行したスクリーンショット。

説明されたパラメーター:

パラメーター プロパティ
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

次のようなメッセージが表示されます。

  1. キーストアのパスワードを入力します。
  2. 名前、組織、場所、その他の必要な詳細を入力します。
  3. 情報を確認します。

次のコマンドを実行して、キーと証明書を生成します。

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

プロンプトが表示されたら、先ほど作成したキーストアのパスワードを入力します。

前に示した例のパラメータを使用した keytool コマンドのスクリーンショット。

説明されたパラメーター:

パラメーター プロパティ
genkey キーを生成します。
alias キーストア・エントリの別名。
keyalg キー アルゴリズムの名前。
keystore keystore の名前。
keysize 各キーのサイズ。
有効性 キーの有効期間 (日数)。
exportcert キーストアから証明書を読み取ります
openssl Android 用の SHA1 キーの生成

APK パッケージの手動による署名 (KV 署名用ではありません)

ラップ中に自動ログインを使用しない場合や、Play ストアに AAB ファイルをアップロードしようとする場合は、こちらの手順を行ってください。 このプロセスを繰り返さないようにするには、可能な場合は自動サインインを使用します。

apksigner ツールを見つけます

  1. Android Studio を開きます。
  2. ツール>SDK マネージャー>Android SDK の場所 に移動して、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

説明されたパラメーター:

パラメーター プロパティ
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 を参照してください。

アプリの配布

アプリに署名したら、いくつかの方法で配布できます。

分布のオプション

参照