Android 用 Java アプリのビルド

重要

Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。

サポートタイムラインと代替手段の詳細については、こちらを参照してください。

最初の Android アプリをビルドするには、次の手順に従います。

  1. リポジトリ サービス アカウント (GitHub、Bitbucket、VSTS、Azure DevOps) に接続します。
  2. アプリが保存されているリポジトリとブランチを選択します。
  3. ビルドする Android プロジェクトを選択します。
  4. 最初のビルドを設定します。

注意

アプリを実際のデバイスで実行するには、有効な証明書でコード署名する必要があります。

注意

App Center は、Android プロジェクトの gradle (およびgradlew) ディレクトリ ファイルを検索して、プロジェクトを追跡します。 App Center Build では見つからないので、これらのファイルをプロジェクト .gitignore に含めないでください。

警告

JCenter の最近のシャットダウンにより、App Center を使用してビルドするときに、特定のアプリで Gradle タスクのエラーが発生する可能性があります。 Gradle が提供する移行ガイドをご覧ください。 回避策として、 のすべてのインスタンスを jcenter() ファイルから build.gradle 削除し、 に jcenter { url "http://jcenter.bintray.com/"}置き換えることができます。 JCenter シャットダウンの詳細については、 こちらを参照してください

1. リポジトリのリンク

まだ接続していない場合は、リポジトリ サービス アカウントに接続する必要があります。 アカウントが接続されたら、Android プロジェクトが配置されているリポジトリを選択します。 リポジトリのビルドを設定するには、それに対する管理者とプルのアクセス許可が必要です。

2. ブランチの選択

リポジトリを選択したら、ビルドするブランチを選択します。 既定では、すべてのアクティブなブランチが一覧表示されます。

3. 最初のビルドを設定する

最初のビルドの前に、Android プロジェクトを構成する必要があります。

3.1. ビルド トリガー

既定では、開発者が構成済みのブランチにプッシュするたびに新しいビルドがトリガーされます。 これは"継続的インテグレーション" と呼ばれます。 新しいビルドを手動でトリガーする場合は、構成ウィンドウでこの設定を変更できます。

3.2. ビルドバリアント

使用可能なビルドバリアントは、build.gradle (アプリ レベル) ファイルで指定されたビルドの種類と製品フレーバーから設定されます。 ビルドするビルドバリアントを選択します。

注意

App Center Build では、ビルドの種類 (デバッグ、リリース、またはカスタム定義) と gradle で宣言された製品フレーバーの 1 つの組み合わせとしてビルドバリアントを検索できます。 現時点では、フレーバー ディメンション (複数の製品フレーバーの組み合わせ) の検出はサポートされていません。

3.3 Android アプリ バンドルのビルド (.aab)

Android アプリ バンドルは、Play ストアにアップロードされ、特定のデバイス用に最適化された API を生成するために使用される配布形式です。 Android アプリ バンドルの詳細については、 Android の公式ドキュメントを参照してください

Android App Bundle のオプションを切り替えて、 に加えて を.aab.apk生成します。 (アプリ レベル) ファイルに build.gradle ブロックがandroid.bundle含まれている場合、このオプションは既にオンになっています。

3.4. バージョン番号の増分

有効にすると、アプリの AndroidManifest.xml のバージョン コードがビルドごとに自動的にインクリメントされます。 変更は実際のビルド中に行われ、リポジトリにコミットされません。

3.5. コード署名

ビルドが成功すると、ファイルと追加.aabのファイルが生成.apkされます (有効な場合)。 ビルドを Play ストアにリリースするには、キーストアに格納されている有効な証明書で署名する必要があります。 ブランチから生成されたビルドに署名するには、構成ウィンドウでコード署名を有効にし、キーストアをリポジトリにアップロードし、構成ウィンドウに関連する資格情報を指定します。 コード署名の詳細については、 App Center の Android コード署名に関するドキュメントを参照してください。 は .aab と同じ資格情報 .apkを使用して署名されます。

3.6. 実際のデバイスで成功したビルドを起動する

新しく生成された APK ファイルを使用して、アプリが実際のデバイスで起動するかどうかをテストします。 これにより、合計ビルド時間に約 10 分が追加されます。 起動テストを構成する方法の詳細を参照してください。

3.7. build.gradle (アプリ レベル) ファイルから構成する

ビルドに関する具体的な情報は、依存関係、ビルド ツールのバージョン、ビルドの種類、製品のフレーバーなど、Gradle ファイルから収集されます。

3.8. ビルドを配布する

ブランチから正常にビルドされるたびに、以前に作成した配布グループまたはストアの宛先に配布するように構成できます。 新しい配布グループを追加することも、配布サービス内から ストア接続を構成 することもできます。 アプリにアクセスできるすべてのユーザーを含む、"コラボレーター" という既定の配布グループが常に存在します。

注意

Google Play ストアに配布する場合は、Android アプリ バンドル (.aab) が推奨され、有効になっている場合は配布されます。 App Center 配布グループとIntuneストアの宛先の場合、 も生成された場合.aabでも通常.apkのが使用されます。

4. ビルド結果

ビルドがトリガーされると、次の状態になります。

  • queued - ビルドは、リソースが解放されるのを待機しているキューにあります。
  • building - アプリは、関連するタスクをビルドして実行しています。
  • succeeded - ビルドが正常に完了しました。
  • failed - ビルドは完了しましたが、失敗しました。 ビルド ログをダウンロードして検査し、トラブルシューティングを行うことができます。
  • canceled - ユーザー アクションによってビルドが取り消されたか、タイムアウトしました。

4.1. ビルド ログ

完了したビルド (成功または失敗) の場合は、ログをダウンロードして、ビルドの実行方法の詳細を理解します。 App Center には、次のファイルを含むアーカイブが用意されています。

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1>
    |-- <build-step-2>
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

ビルド ステップ固有のログ (アーカイブのビルド/ディレクトリにあります) は、トラブルシューティングと、ビルドが失敗した手順と理由を理解するのに役立ちます。

4.2. アプリ パッケージ (APK)

APK は、Android アプリとアセットを含むパッケージです。 ビルドが正しく署名されている場合は、APK を実際のデバイスにインストールし、Play ストアに展開できます。 ビルドに署名されていない場合は、APK をエミュレーターで実行するか、他の目的で使用できます。

4.3. 複数の API の構築

アプリ構成で複数の API をビルドする場合は、ユニバーサル APK もビルドする必要があります。 ビルド システムは、1 つのメイン APK ファイルで動作し、特定の CPU ABI または画面密度に固有のすべての APK を無視します。 APK 分割とユニバーサル APK の構築の詳細については、 ABI 分割ガイドを参照してください。

4.4. deobfuscation-mapping ファイル (mapping.txt)

この mapping.txt ファイルには、アプリの難読化されたスタック トレースを元のクラス名とメソッド名にマップする方法に関する情報が含まれています。

  • 以前にアプリ内の App Center SDK をクラッシュ レポート モジュールを有効にし、Proguard または R8 を使用してアプリ バイナリを縮小および難読化した場合、クラッシュ レポート サービスでは、人間が判読できる (難読化された) クラッシュ レポートを表示するために、ビルドにこのmapping.txtファイルが必要です。
  • アプリでクラッシュ レポートの目的で別の SDK を以前に統合したことがある場合 (HockeyApp SDK など)、対応するサービスでは、読み取り可能なクラッシュ レポートを表示するファイルが必要 mapping.txt です。

5. サポートされているバージョンと要件

Android アプリのビルドでサポートされる最小バージョンは 7.0 (API レベル 24) です。 Android アプリでは、実行に必要な最小 API レベルを低くできますが、少なくとも API レベル 24 をターゲットにする必要があります。

アプリを正しく構成するには、Gradle と Android Gradle プラグインを使用してビルドする必要があります。 リポジトリには Gradle ラッパーを含める必要があります。

クラウド ビルド マシンの情報も参照してください。