🍐

.NET AndroidアプリをVS2022で内部リリース

2023/08/24に公開

目的

作成した Android アプリと、テストのため内部リリースをしたので、備忘録として書き留めておきます。

Visual Studio 2022を使ってaabを出力

  1. アクティブなソリューション構成を「Release」にしておきます。
  2. ソリューションエクスプローラーから所望のプロジェクトを選択し、右クリックメニューから「発行…」を選択します。
  3. アーカイブマネージャに発行されたものがリストアップされますので、所望のものを選択し「配布…」を押下します。
  4. 「アドホック」「Google Play」の選択肢が現れます。今回は内部リリースですので「アドホック」を押下します。
  5. 署名IDを作成します。入力したエイリアス名とパスワードは、後ほどで使いますので覚えておきます。
  6. 「名前をつけて保存」を押下し、aabファイルを所望の場所に保存します。

https://learn.microsoft.com/ja-jp/xamarin/android/deploy-test/signing/?tabs=windows

  1. 上記ドキュメントにキーストアの場所が説明されています。後で使うのでエクスプローラで確認しておきます。

aabを変換する

  1. aabファイルではインストールできないので、apkに変更する必要があります。まずはbundletoolを入手します。

https://developer.android.com/studio/command-line/bundletool?hl=ja

  1. bundletool-all-X.X.X.jarなるものをダウンロードし所望の場所に保存、解凍せずこのまま使います。ファイル名は変更しても良いです。
  2. コマンドプロンプト開き、保存した場所でjava -jarbundletool-all-X.X.X.jar versionを実行、動作することを確認しておきます。Visual Studio 2022 で Android アプリがビルドできているはずなのでjavaが見つからない人はいないはず…
  3. インストールしたい端末の情報を生成します。
jsonファイルの例
{
  "supportedAbis": ["arm64-v8a", "armeabi-v7a"],
  "supportedLocales": ["ja"],
  "screenDensity": 640,
  "sdkVersion": 28
}
  1. 下記を実行し、先ほど決めたパスワードを打ち込みますとapksファイルが作成されます。

java -jar bundletool.jar build-apks
--bundle=aabファイルのパス
--output=出力先のパス(拡張子はapksとします)
--device-spec=生成したjsonファイルのパス
--ks=先ほど確認したキーストアのパス
--ks-key-alias=先ほど決めたエイリアス名

ファイルサイズが気にならないのであれば--device-specは不要かもしれません。

apksをインストール

作成したapksは http サーバーにアップロードし、テスターにダウンロードしてもらうのがおすすめです。http サーバーとしてはアクセス制限も簡単な aws S3 が便利です。また、ダウンロード元は2次元バーコード化しておくと、テスターはカメラで読むだけになりますので喜ばれます。

さて、apkだとこれで終わりなのですが、お気付きのように実はapksなのです。端末側でダウンロードしクリックすると、Google Play に誘導されますので Split APKs Installer を選択して下さい。これでインストールできるはずです。

https://play.google.com/store/apps/details?id=com.aefyr.sai&hl=ja&gl=US&pli=1

(了)

Discussion