🍐
.NET AndroidアプリをVS2022で内部リリース
目的
作成した Android アプリと、テストのため内部リリースをしたので、備忘録として書き留めておきます。
Visual Studio 2022を使ってaabを出力
- アクティブなソリューション構成を「Release」にしておきます。
- ソリューションエクスプローラーから所望のプロジェクトを選択し、右クリックメニューから「発行…」を選択します。
- アーカイブマネージャに発行されたものがリストアップされますので、所望のものを選択し「配布…」を押下します。
- 「アドホック」「Google Play」の選択肢が現れます。今回は内部リリースですので「アドホック」を押下します。
- 署名IDを作成します。入力したエイリアス名とパスワードは、後ほどで使いますので覚えておきます。
- 「名前をつけて保存」を押下し、
aab
ファイルを所望の場所に保存します。
- 上記ドキュメントにキーストアの場所が説明されています。後で使うのでエクスプローラで確認しておきます。
aabを変換する
-
aab
ファイルではインストールできないので、apk
に変更する必要があります。まずはbundletool
を入手します。
-
bundletool-all-X.X.X.jar
なるものをダウンロードし所望の場所に保存、解凍せずこのまま使います。ファイル名は変更しても良いです。 - コマンドプロンプト開き、保存した場所で
java -jarbundletool-all-X.X.X.jar version
を実行、動作することを確認しておきます。Visual Studio 2022 で Android アプリがビルドできているはずなのでjava
が見つからない人はいないはず… - インストールしたい端末の情報を生成します。
jsonファイルの例
{
"supportedAbis": ["arm64-v8a", "armeabi-v7a"],
"supportedLocales": ["ja"],
"screenDensity": 640,
"sdkVersion": 28
}
- 下記を実行し、先ほど決めたパスワードを打ち込みますと
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 を選択して下さい。これでインストールできるはずです。
(了)
Discussion