あなたの Capacitor Android Gradle Plugin 9 (AGP 9) にアップグレードした後、プラグインが失敗している場合、Gradle の構成問題に遭遇している可能性があります。
この投稿は、次のような一般的な検索の意図をターゲットにします。
- Capacitor プラグインのビルドエラー AGP 9
- Android Gradle Plugin 9 プラグインのビルドが失敗しました
proguard-android.txt見つかりません- AGP 9
getDefaultProguardFileエラー - Capacitor AGP アップグレード後に Android のビルドが失敗しました
要約は次のとおりです。
proguard-android.txtAGP 9 プラグインのビルドで安全な基準として参照することはもう安全ではありません。- Switch to
proguard-android-optimize.txt. - 再構築して確認してください。
長いバージョンも重要です。特に、多くのプラグインや大きなCapacitorワークスペースを維持する場合にそうです。
- この記事では、以下の内容について説明します。
- What Capacitor is and how plugin builds work
- __CAPGO_KEEP_0__とは何か、プラグインのビルド方法 Capgo __CAPGO_KEEP_0__
- はなぜリリースの信頼性に影響を与えるのか
- AGP 9の変更が古いプラグインテンプレートを破壊する正確なもの
1つのリポジトリまたは多くのリポジトリに対する安全な移行戦略
この文脈におけるAndroidとは何か is both an operating system and a build ecosystem. When you ship a Capacitor app or plugin on Android, your project goes through:
- Gradle As the build system.
- Android Gradle Plugin (AGP) As Android-specific Gradleの統合です。
- The Android SDK toolchain for SDK, SDK, SDK, および SDK
.aar,.apk, または.aab出力。
AGPのバージョンが変更された場合、既定値や内部ファイルも変更されることがあります。AGP 8で機能していたプラグインの構成がAGP 9で機能しない場合、削除されたまたは非推奨のベースラインに指示している可能性があります。
Capacitorは何ですか?
Capacitor iOS/Androidアプリをビルドするためのクロスプラットフォームランタイムです。Web code (TypeScript、JavaScript、HTML、CSS) を使用して、native APIを呼び出すことができます。
Capacitorアプリは通常、以下の要素を含みます。
- Web層 (UIとビジネスロジック)
- ネイティブシェル (
ios/,android/) - JavaScript にネイティブ機能を公開するプラグイン
各プラグインには独自のネイティブビルド構成があります。Android の場合、これは各プラグインに AGP が正しくパースしてコンパイルする必要がある android/build.gradle プラグインの Gradle 設定が古くなっている場合、ウェブ __CAPGO_KEEP_0__ が正しい場合でもアプリのビルド全体が失敗する可能性があります。
code とは何ですか?
Capgo
Capgo の配信と運用に関するツールを提供します。 provides tools around Capacitor delivery and operations:
- ウェブ バンドル変更に対する プラグインエコシステムとネイティブ機能パッケージ
- CI/CD に対応した __CAPGO_KEEP_0__ の更新ワークフロー
- CI/CD-friendly update workflows for Capacitor teams
ライブ更新にもかかわらず、ネイティブビルドの安定性は譲れないものです。 まだ、以下のためにクリーンなAndroidビルドが必要です:
- App Store / Play Storeのリリース
- ネイティブプラグインのアップグレード
- プラットフォームSDKの移行
- チームのオンボーディングとCIの信頼性
AGP 9の互換性の修正は重要です。 これは、プラグイン層が信頼できるので、配信パイプラインが予測可能になるからです。
AGP 9が古いプラグイン設定を破壊する理由
多くのプラグインテンプレートは歴史的に使用してきました:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
AGP 9のセットアップでは、このレガシーバイナリ参照が失敗する可能性があります。 これは、古いファイルが、古いテンプレート/設定によって期待される場所に存在しないためです。
典型的な症状は、Gradleエラーがビルド、または、またはテストフェーズに発生し、ProGuardの基準ファイルが欠落している、またはデフォルトファイル参照が無効になっていることを示しています。 assemble, lint__CAPGO_KEEP_0__ build App Store / Play Storeのリリース
Quick background: ProGuard, R8, and baseline files
- R8 codeはAndroidビルドの現代的な縮小/最適化ツールです。
proguard-rules.proプロジェクト/プラグインのカスタム保持ルールがありますか。getDefaultProguardFile(...)Androidから提供されるベースラインを挿入します。
参照する場合:
proguard-android.txt-> 旧式の最小限のベースラインproguard-android-optimize.txt-> 最適化された現代的なベースライン (現在の設定で推奨されるデフォルト)
AGP 9の互換性のために proguard-android-optimize.txt 現代的なベースラインに切り替えることは実用的な修正です。
一行の修正
プラグインとアプリモジュールのGradleファイルを更新してください:
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
At minimum, check:
android/build.gradle各プラグインexample-app/android/app/build.gradle各プラグインリポジトリ- 新しいプラグインGradle設定を作成する任意のジェネレータ/テンプレートファイル
1つのプラグインの移行ガイド
1. 旧の参照を探す
rg -n "proguard-android\\.txt" android example-app
2.置き換える
perl -pi -e "s/proguard-android\\.txt/proguard-android-optimize.txt/g" \
android/build.gradle example-app/android/app/build.gradle
3. Bun で検証する
bun run verify:android
バッチですべてのプラグインリポジトリを更新する場合、以下のコマンドを実行します。
bun run verify
多くのプラグインリポジトリを1つのワークスペースで管理する場合、自動化してください。
次に、トラッキングされているプラグインソースがまだ古いファイルを使用していないことを検証する
rg -l "proguard-android\\.txt" capacitor-* \
--glob '!**/node_modules/**' \
--glob '!**/.gradle/**' \
--glob '!**/build/**' \
| xargs perl -pi -e "s/proguard-android\\.txt/proguard-android-optimize.txt/g"
Then validate that no tracked plugin source still uses the old file:
for d in capacitor-*; do
[ -d "$d/.git" ] || continue
git -C "$d" grep -n "proguard-android\\.txt" -- || true
done
No matches means the old baseline reference is gone from tracked plugin files.
Capgo のロールアウト状況
公式の Capgo Capacitor プラグインリポジトリとテンプレートをすべてこのマイグレーションに完了しました。
- プラグインの Android モジュールは、
proguard-android-optimize.txt - プラグインの例の Android アプリも更新されました。
- プラグインのスケルトン テンプレートも更新されました。新しいプラグインはデフォルトで AGP 9 安全です。
AGP 9 アップグレードの失敗の 1 つの一般的なクラスを防ぐため、これは重要です。CI に到達する前に。
あなたのビルドが今日でも通る場合でも、これは重要です。
あなたがすぐに失敗を確認しない理由です。
- あなたの CI キャッシュが問題を隠している場合。
- あなたがプロジェクト間で混合した AGP のバージョンを持っている場合。
- あなたがローカル開発でのみ一部のモジュールを再構築している場合。
But eventually, clean builds, new environments, or upgraded runners expose it. Doing the migration now removes hidden instability.
ビルドがまだ失敗している場合のトラブルシューティング
確認する点:
-
すべてのモジュールがパッチされていることを確認する。
-
共有スクリプト内に2回目の参照がないことを確認する。 すべてのリポジトリ (カスタムGradleスクリプトを含む) を検索する。
-
キャッシュがクリアされていることを確認する。
./gradlew cleanRun -
再構築する。
-
AGP / Gradle / JDK のバージョンが一致していることを確認する。 Androidドキュメントでサポートされているバージョンの組み合わせを使用する。
-
CI がローカルと同じバージョンを使用していることを確認する。 JDK と Gradle wrapper のバージョンを CI で固定して環境のずれを防ぐ。
node_modulesパッチは
SEO FAQ: AGP 9 Capacitor plugin build errors
Capgoで何を修正するか proguard-android.txt AGP 9で見つかりません。
置き換え:
getDefaultProguardFile('proguard-android.txt')
次に、クリーンビルドを実行してください。
getDefaultProguardFile('proguard-android-optimize.txt')
Android Gradle Plugin 9にアップグレードした後、__CAPGO_KEEP_0__ プラグインのビルドが失敗するのはなぜですか。
Why does my Capacitor plugin build fail after upgrading to Android Gradle Plugin 9?
まだAGP 9プロジェクトで使用している android/build.gradle AGP 9プロジェクトでは proguard-android.txtCapgoプラグインのAGP 9への移行の最速のパスは何ですか。 proguard-android-optimize.txt.
What is the fastest AGP 9 migration path for many Capacitor plugins?
を使用して検証し、実行してください。 git grep AGP 9の移行の最速のパス bun run verify:android 代表的なプラグイン。
これは、Capacitor のみの問題ですか?
いいえ。AGP 9 ビルドエラーに似た問題に直面するのは、Android モジュール (アプリまたはライブラリ) が廃止された ProGuard 基準参照を使用している場合です。特にプラグインエコシステムでは、多くのリポジトリが古いテンプレートを共有しているため、特に目立つようになります。
この移行に関連するキーワードは何ですか?
内部の実行本やサポートページでこの情報を記載する場合は、以下の用語を含めてください。
- AGP 9 ビルドエラー
- Android Gradle プラグイン 9 ProGuard ファイルが欠落している
- Capacitor プラグイン Android ビルド失敗
proguard-android.txt置き換えproguard-android-optimize.txt移行
関連リンク
- Android Developers: アプリケーション概要の構築
- Android Gradle プラグイン: リリースノート
- Android code シリンギング: R8とルール
- Gradle ドキュメント: ビルドツールの基本
- Capacitor ドキュメント: 公式ドキュメント
- Capgo ドキュメント: 自動更新ドキュメント
最終的なまとめ
AGP 9 の問題は単純ですが、多くのプラグインを使用するワークスペースでは見落としやすいです。__CAPGO_KEEP_0__ をすべての関連する場所に置き換えると、Android ビルドが予測可能になるので、再度試してみてください。 proguard-android.txt に proguard-android-optimize.txt すべての関連する場所に置き換えると、Android ビルドが予測可能になるので、再度試してみてください。
公式のリポジトリではすでにこのマイグレーションが適用されているため、Capgo プラグインを使用している場合は、驚きの少ないアップグレードが可能です。
Capacitor プラグイン AGP 9 ビルド エラー修正
__CAPGO_KEEP_0__ プラグイン AGP 9 ビルド エラー修正 Capacitor CI/CD CI/CD のプロダクト ワークフローに接続するには、__CAPGO_KEEP_0__ CI/CD CI/CD のプロダクト ワークフローに接続するには、Capgo Native Builds Native Builds のプロダクト ワークフローに接続するには、Capgo Native Builds を使用している場合は、Capgo CI/CD を使用している場合は、Capgo Native Builds Capgo統合 Capgo統合の製品ワークフローについて CI/CD統合 CI/CD統合の実装詳細について GitHubアクション統合 GitHubアクション統合の実装詳細について