メインコンテンツにジャンプ
CI/CD Android 代替

2026年におけるAndroidアプリのCI/CDプラットフォームのベスト比較

2026年におけるAndroid CI/CDプラットフォームの比較: GitHub アクション、GitLab、Bitrise、Codemagic、Appcircle、CircleCI、Azure DevOps、および Capgo ビルド

記事のクレジット

マーティン・ドナディュー

ライター

バレリア

レビュアー

ジョーダン

エディター

2026年におけるAndroidアプリのCI/CDプラットフォームのベスト比較

AndroidアプリのCI/CDプラットフォームのベストは、すでに実行しているものが多いです。なぜなら、AndroidのビルドにはLinux、Java、Android SDK、Gradleだけが必要だからです。プラットフォーム間の差はビルドの部分で見られます。キーストアの保存方法、Google Playトラックスへのアップロード方法、Gradleキャッシュが繰り返しビルドを高速化する方法、同じプラットフォームがiOSも扱えるかどうかなどです。この比較では、GitHub アクション、GitLab CI、Bitrise、Codemagic、Appcircle、CircleCI、Azure DevOps、および Capgo ビルドが対象です。

2026年のAndroidリリースフロー

Android アプリケーションのパイプラインはほぼ同じことを行います:

  1. JDK と Android の SDK (またはイメージがそれらを含む場合) をインストールします。
  2. Run ./gradlew bundleRelease.
  3. 署名するAABにあなたの アップロードキー.
  4. JDK と Android の API (またはイメージがそれらを含む場合) をインストールします。
  5. ユーザーの一部にロールアウトすることができます。

すべてのプラットフォームが遵守しなければならないルール:

  • 新規アプリではAABが必須です。 Google Playで配布され、Googleはアプリの署名キーを保持しているPlayアプリ署名機能を使用して、配信されたAPKを署名します。
  • ターゲット API レベルは毎年上昇します。 Sign the AAB with your 上传 key となります。 targetSdkVersion 8月ごとにアップデート。 Capacitor 8 はすでに API 36 をターゲットとしています。
  • 16 KBのページサイズ。 最新のデバイスでは16 KBのメモリページを使用し、Playでは更新されたアプリでこれらをサポートするためにネイティブライブラリを必要とします。詳しくは Android 16 KBページサイズの Capacitor プラグイン.
  • JDK 21 Capacitor 7 および 8 のプロジェクトと最近の Android Gradle Plugin のバージョンでは、JDK 21 が基準です。

機能マトリックス

プラットフォーム ランナー キーストアストレージ Playアップロード Gradleキャッシュ iOSも 価格モデル
GitHub アクション ホストされたLinux、自社ホスト 暗号化されたシークレット fastlane、Gradle Play Publisher、またはコミュニティアクション gradle/actions/setup-gradle はい、macOSランナー 1分あたり、Linux最安値; 公開リポジトリは無料
GitLab CI ホストされたLinux、自社管理 CI/CD変数、安全なファイル fastlane、Google Play統合 cache: キーセット はい、macOSベータ コンピュート分あたりの階層
Bitrise ホストされたLinuxスタック 管理されたcode署名ファイル Google Play Deploy ステップ 組み込みキャッシュステップ はい ビルド分あたりのクレジット
Codemagic ホストされたLinuxとMac キーストアの名前付き参照 ビルトイン、トラッキングとロールアウト割合 ビルトイン はい 月単位または年間プラン
Appcircle ホスト型または自社ホストサーバー 署名のアイデンティティストア 公開モジュール ビルトイン はい プランの階層、エンタープライズ自社ホスト
CircleCI ホストドメインのLinux (cimg/android)、自主ホスト コンテキストと環境変数 fastlaneまたはスクリプト save_cache/restore_cache はい コスト/分
Azure DevOps マイクロソフトホスト、自主ホスト セキュアファイル Google Play 拡張タスク Cache@2 はい 並行ジョブ
Capgo ビルド Capgo-管理 CI のシークレットごとに送信 ビルトイン、トラッキングとステータスフラグ アプリごとのビルドキャッシュ はい ビルド時間、参照 価格

Xcode Cloud はこの表に含まれていません。Xcode Cloud は Apple プラットフォームのみをビルドします。Capgo ビルドは Capacitor アプリのみをビルドします。ここで他のすべてのプラットフォームは、ネイティブ Kotlin と Java プロジェクトもビルドします。

プラットフォームごとに

GitHub アクション

LinuxランナーにJavaとAndroid SDKが事前にインストールされている ubuntu-latest, したがって ./gradlew bundleRelease が正常に動作する actions/setup-java. gradle/actions/setup-gradle Gradleキャッシュをうまく扱う。エミュレーターテストはLinuxランナー上でKVMを通じてコミュニティアクションとして実行される reactivecircus/android-emulator-runner.

署名は、シークレットからキーストアをデコードし、Gradleプロパティを通じてパスワードを渡すことを意味する。アップロードはfastlane supply, Gradle Play Publisher プラグイン、またはコミュニティアクションを使用する。管理されるものは何もなく、管理されていないものも何もなく、Linuxの分数は最も安いものである。ガイド: Automatic Capacitor Android ビルドと GitHub Actions.

GitLab CI

GitLabの場合も、Docker イメージにAndroid SDKがインストールされている場合、共有Linuxランナー上で動作する。GitLabのMobile DevOps機能には、キーストア用の安全なファイルとGoogle Playの統合が含まれており、サービスアカウントをジョブに公開することで、fastlaneのセットアップからボイラープレートを削除できる。ガイド: GitLab上のAutomatic Capacitor Android ビルド.

Bitrise

BitriseのAndroidサポートは、ステップに焦点を当てている。Androidビルド、Android署名、Google Play Deploy、テスト、エミュレータステップなどが含まれる。キーストアはアプリのcode署名設定で一度アップロードされる。Google Play Deployステップはトラックとステージドロールアウトの割合をサポートする。AndroidビルドはiOSよりも安く、ただしLinuxランナーよりも安くない。モバイルチームがUIドライブされたワークフロー編集者を求めている場合に適している。

Codemagic

Codemagicはキーストアを名前付き参照として保存し、ファイルはリポジトリまたはログに出現しないようにします。 codemagic.yaml キーストアは、ファイルがリポジトリまたはログに出現しないように、名前付き参照として保存されます。 google_play 公開ブロックは、トラック、ロールアウト割合、ドラフトとして提出するかどうかを設定します。Android、Flutter、React Native、Ionic、Capacitorのネイティブアプリをビルドします。ビルディングは1分あたりのビルド時間または年間固定プランで請求されます。

Appcircle

Appcircleはキーストアを署名識別子モジュールに保存し、Google Playに公開し、テスター配布、企業アプリストアと並んで公開します。Appcircle Serverオプションは、規制チームが選択する主な理由です: codeとキーはネットワークから離れません。

Appcircle

Appcircleはキーストアを署名識別子モジュールに保存し、Google Playに公開し、テスター配布、企業アプリストアと並んで公開します。 cimg/android Docker images with the SDK installed, plus an Android orb with helpers for emulator tests and caching. Signing and upload are scripts or fastlane. Billing uses credits, and Linux Docker executors are the cheapest resource classes. A reasonable choice when CircleCI already runs the rest of your stack.

CircleCIはDockerイメージを公開し、__CAPGO_KEEP_0__がインストールされているものの他に、Android Orbとエミュレータテスト、キャッシュのヘルパーを備えたものです。署名とアップロードはスクリプトまたはFastlaneです。クレジットを使用した請求は、Linux Docker Executorが最も安価なリソースクラスです。CircleCIが既に他のスタックを実行している場合、CircleCIは妥当な選択肢です。

CircleCI Gradle@3 アプリを構築する AndroidSigning@3 AndroidアプリのCI/CDプラットフォームを比較する

Capgo ビルド

Capgo ビルド Capgoは、CIが呼び出すCapacitorアプリのビルドサービスです。ジョブは実行され bun run build and bunx cap sync androidそして

bunx @capgo/cli@latest build request com.example.app \
  --platform android \
  --build-mode release \
  --android-track internal

CapgoはGradleをビルドマシンで実行し、キーストアで署名し、最高のバージョン番号を読み取り、Google Playからインクリメントし、選択したトラックにAABをアップロードします。 versionCode そして --android-release-status, --android-flavor, and --submit-to-store-review ダウンロードリンクを返します。 --no-playstore-upload --output-upload セットアップはガイドされています。

context bunx @capgo/cli@latest build init --platform android AndroidアプリのCI/CDプラットフォームを比較する

正直に言うと: Androidは、Linuxランナーが安いところが世界中にあるため、Capgoビルドが最も少ないプラットフォームです。Androidの価値は、iOSパイプラインと一致すること、自動バージョンコード、CIでAndroid SDKまたはJDKのメンテナンスが不要、そして同じCLIの配信 ライブアップデート ウェブのみの変更に対して

Androidの痛点とそれぞれのプラットフォームがどのように対応するか

キーストアの喪失

キーストアを失うことは、以前はアプリを更新することができなくなっていた。Playアプリ署名では、保有するキーストアはアップロードキーだけであり、Playコンソールのサポートが新しいアップロードキーを登録できる。ただし、オフラインバックアップを保管しておくこと。上記のすべてのプラットフォームでは、キーストアを暗号化して保存しているため、リスクは通常、開発者のノートパソコンにコピーしたキーストアである。必要な場合は、 Androidキーストア生成 バージョン__CAPGO_KEEP_0__の衝突

バージョン code の衝突

はすでに使用されていた。オプション: CI実行番号から派生する(__CAPGO_KEEP_0__, GitLab, CircleCI)、プラットフォームのビルド番号変数を使用する(Bitrise, Codemagic, Appcircle)、または__CAPGO_KEEP_1__ビルドがPlayから最新の値を読み取ってインクリメントする versionCode was already used. Options: derive it from the CI run number (GitHub, GitLab, CircleCI), use the platform’s build number variable (Bitrise, Codemagic, Appcircle), or let Capgo Build read the latest value from Play and increment it.

Gradleのビルドが遅い

A cold Capacitor Android build downloads hundreds of megabytes of dependencies. キャッシュ ~/.gradle/caches そして ~/.gradle/wrapper キャッシュすることで、繰り返しビルドが速くなります。 Gradleに十分なメモリを与えましょう gradle.properties (org.gradle.jvmargs=-Xmx4g)にホストされたランナー上で、そしてiOSとAndroidを並列ジョブでビルドするのではなく、一つずつビルドするのではなく。

プラグインとAGPのアップグレード

新しいAndroid Gradle Pluginのバージョンは古いプラグインを破壊します。プロジェクトにAGPを固定し、ブランチでアップグレードしてください。特定の修正は AGP 9でCapacitor プラグインのビルドエラーを修正する方法 そして How to resolve Android build errors in Capacitor.

「呼び出し元には権限がない」は、最も一般的なアップロードエラーです。サービスアカウントはPlay Consoleのユーザーと権限の下で、リリース権限を持つアプリに招待し、Google Play Android Developer __CAPGO_KEEP_0__をGoogle CloudプロジェクトのGoogle Cloudプロジェクトで有効にし、サービスアカウントが新しい場合は、__CAPGO_KEEP_1__がそれらを受け入れるのに時間がかかることがあります。

“The caller does not have permission” is the most common upload error. The service account must be invited in Play Console under Users and permissions with release rights for the app, and the Google Play Android Developer API must be enabled in its Google Cloud project. New service accounts can take a while before the API accepts them.

AndroidアプリのCI/CDプラットフォームを比較する方法

あなたの状況 適切な選択
Android ではすでに GitHub または GitLab に存在しています。 GitHub アクションまたはGitLab CI
ネイティブAndroidチームが視覚的なワークフロー編集者を望む Bitrise
クロスプラットフォームチームが管理されたキーストアとPlayの公開をYAMLで望む Codemagic
すべてを自社でホストする必要がある Appcircle Serverまたは自社でホストしたランナー
App Centerから来た、Microsoftスタック Azure DevOps
Capacitor アプリ、Android と iOS を 1 つの CLI から任意の CI で管理したい Capgo ビルド

iOS用の同様の決定については、こちらを参照してください。 iOSアプリ用のCI/CDプラットフォームの比較.Capacitorアプリの場合、ライブアップデートを含めるとは Comparing CI/CD platforms for Capacitor apps.

アップロードキーストアファイルと両方のパスワードを確認し、aliasが一致していることを確認してください。

  • Play Consoleでアップロードキーとして登録されている証明書のSHA-1を確認し、
  • 新しいCI用に専用サービスアカウントを作成し、個人用のアカウントを再利用しないようにしてください。 keytool -list -v -keystore release.jks.
  • Capgo 8プロジェクトの場合、Capgoアプリの新しいプラットフォームビルドにはJDK 21を使用してください。
  • JDK 21 でビルドされる新しいプラットフォームは、Capacitor 8 のプロジェクトで動作することを確認する。
  • プロダクションリリースを切り替える前に1回の内部トラックアップロードを実行してください。
Capacitor アプリ用の即時更新

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

コンテキスト: ホームページのマーケティング コピー。役割: ウェブサイト コピー文。見られる場所: component HumanSupport.astro, component pricing/Plans.astro。メッセージ キー `home_hero_human_support` (ホーム ヒーロー ヒューマン サポート)。

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。