あなたの Capacitor Android Gradle Plugin 9 (AGP 9) にアップグレードした後、プラグインが失敗している場合、Android Gradle Plugin 9 (AGP 9) の小さながしかし重要なGradle構成問題に当たっている可能性があります。
This post specifically targets common search intents like:
- Capacitor AGP 9 プラグインビルドエラー
- Android Gradle Plugin 9 プラグインビルド失敗
proguard-android.txt見つかりません- AGP 9
getDefaultProguardFileエラー - Capacitor AGP アップグレード後、Android ビルドが失敗
The short version:
proguard-android.txtAndroid Gradle Plugin 9 (AGP 9) の場合、is no longer the safe default baseline to reference in AGP 9 plugin builds.- Switch to
proguard-android-optimize.txt. - 再構築して確認してください
長いバージョンも重要です。特に、多くのプラグインや大きな Capacitor ワークスペースを管理している場合に尤もです。この記事では、以下について説明します。
- AndroidとAGPがビルドチェーンにどのような役割を果たしているか
- Capacitorは何か、プラグインのビルドがどのように動作しているか
- __CAPGO_KEEP_0__ Capgo AGP 9の変更が古いプラグインテンプレートを破壊する正確な部分
- 1つのリポジトリまたは多くのリポジトリに対する安全な移行戦略
- この文脈におけるAndroidとは何か
Android
は、オペレーティングシステムとビルドエコシステムの両方です。Android上でアプリまたはプラグインを配信する場合、プロジェクトは次のプロセスを経て行われます。 is both an operating system and a build ecosystem. When you ship a Capacitor app or plugin on Android, your project goes through:
- __CAPGO_KEEP_0__ AGP 9のビルドエラーをCapacitorプラグインで修正する
- Android Gradle プラグイン (AGP) Android用のGradle統合です。
- AndroidのSDKツールチェーンは、パッケージング、縮小、linting、出力の生成などを行います。
.aar,.apk, または.aab出力。
AGPのバージョンが変更されると、既定値や内部ファイルも変更されることがあります。AGP 8で機能していたプラグインの設定がAGP 9で失敗する場合、削除されたまたは非推奨のベースラインに指している可能性があります。
なぜCapacitorが必要なのでしょうか?
Capacitor is a cross-platform runtime that lets you build iOS/Android apps with web code (TypeScript, JavaScript, HTML, CSS) while still calling native APIs.
Capacitorは、iOS/Androidアプリをビルドするのに使えるクロスプラットフォームランタイムです。TypeScript、JavaScript、HTML、CSSなどのWebCapacitorを使用して、native APIを呼び出すことができます。
- Capacitorアプリは通常、以下の構成を持ちます:
- ネイティブシェル (
ios/,android/) - JavaScript にネイティブ機能を公開するプラグイン
各プラグインには独自のネイティブビルド構成があります。Android の場合、これは各プラグインに AGP が解析して正しくコンパイルする必要があるファイルが含まれます。 android/build.gradle プラグインの Gradle 設定が古くなっている場合、ウェブ __CAPGO_KEEP_0__ が正しい場合でも、アプリ全体のビルドが失敗する可能性があります。
code とは何か?
Capgo
Capgo provides tools around Capacitor delivery and operations:
- Capgo は、__CAPGO_KEEP_0__ の配信と運用に関するツールを提供しています。 ライブ更新
- Page/area: Capgo のソリューションズ マーケティング ページ。ロール:短い UI ラベルまたはナビゲーション アイテム。メッセージ キー `solutions_build_without_mac_stat3_value` (ソリューションズ ビルド ウィズアウト マック スタット3 値)。
- 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エラーがビルドの assemble, lint、または build フェーズで発生し、プロガードのベースラインリソースが欠落している、またはデフォルトファイルの参照が無効になっていることを示すことがある。
Quick background: ProGuard, R8, and baseline files
- R8 Androidのビルドで現代的なcode shrinker/optimizerです。
proguard-rules.proプロジェクト/プラグインのカスタムキープルールはgetDefaultProguardFile(...)Androidから提供される基準ファイルを挿入します。
次の場合
proguard-android.txt-> legacy, minimal baselineproguard-android-optimize.txt-> modern optimized baseline (current設定の推奨デフォルト)
AGP 9の互換性のために proguard-android-optimize.txt 現代的な最適化された基準ファイルに切り替えることは実用的な解決策です。
1行の修正
プラグインとアプリモジュールのGradleファイルを更新してください:
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
最低限、確認してください:
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"
次に、トラッキングしているプラグインソースがまだ古いファイルを使用していないことを検証する
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 安全です
これは CI に到達する前に AGP 9 アップグレードの失敗の一般的なクラスを防ぎます
これは今日もビルドが通る場合にでも重要な理由です
直ちに失敗を確認しない理由は次のとおりです:
- CI キャッシュが問題を隠している
- プロジェクトに混合された AGP バージョンが存在する
- ローカル開発でのみ一部のモジュールが再構築される
しかし、最終的には、クリーン ビルド、新しい環境、またはアップグレードされたランナーがそれを明らかにします。 これらのマイグレーションを今すぐ実行すると、隠れた不安定性が排除されます。
置き換え後もビルドが失敗する場合のトラブルシューティング
確認する点があります:
-
すべてのモジュールがパッチされました。 プラグインモジュール、アプリモジュール、サンプル、テンプレートアセットを確認してください。
-
共有スクリプト内に2回目の参照がないことを確認します。 すべてのリポジトリ(Gradleスクリプトを含む)を検索してください。
-
キャッシュがクリーンです。 以下のコマンドを実行し、再ビルドしてください。
./gradlew cleanAGP / Gradle / JDK バージョンが整合しています。 Androidドキュメントでサポートされているバージョンを使用してください。 -
CI環境で同じバージョンを使用しています。 JDKとGradleワッパーバージョンをCI環境で固定して、環境のずれを防ぎましょう。
-
プラグインソースのみをパッチしていないことを確認します。 依存関係ディレクトリを修正するのではなく、トラッキングされているプラグインソースを修正してください。
-
SEO FAQ: AGP 9 __CAPGO_KEEP_0__ プラグインビルドエラー
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')
そして、クリーンリビルドを実行してください。
なぜ私のCapacitorプラグインのビルドが、Android Gradle Plugin 9にアップグレードした後、失敗するのですか?
ほとんどの失敗は、プラグインファイル内の古いGradle構成のためです android/build.gradle まだAGP 9プロジェクトは proguard-android.txtAGP 9プロジェクトは proguard-android-optimize.txt.
What is the fastest AGP 9 migration path for many Capacitor plugins?
ワークスペース全体で検索置換コマンドを使用し、検証してから git grep と実行してください bun run verify:android 代表的なプラグイン。
これは単に Capacitor の問題ですか?
いいえ。Androidモジュール(アプリまたはライブラリ)が廃止されたProGuardベースライン参照を使用している場合、AGP 9 ビルドエラーに遭遇する可能性があります。特にプラグインエコシステムでは、多くのリポジトリが古いテンプレートを共有しているため、明らかになります。
この移行に適切なキーワードは何ですか?
内部の実行本やサポートページでこの内容を記載する場合は、以下の用語を含めてください。
- AGP 9 ビルドエラー
- Android Gradle プラグイン 9 ProGuard ファイルが見つかりません
- Capacitor プラグイン Android ビルド失敗
proguard-android.txt置き換えproguard-android-optimize.txt移行
関連リンク
- Android Developers: アプリのビルド概要
- Android Gradle プラグイン: リリースノート
- Android code Shrinking: R8とルール
- Gradle ドキュメント: ビルドツールの基本
- Capacitor ドキュメント: 公式ドキュメント
- Capgo ドキュメント: 自動更新ドキュメント
最終的なまとめ
AGP 9 の問題は単純ですが、複数のプラグインを使用するワークスペースでは見落としやすいことがあります。__CAPGO_KEEP_0__ プラグインを置き換える proguard-android.txt に proguard-android-optimize.txt すべての関連箇所で
AGP 9 の問題は単純ですが、複数のプラグインを使用するワークスペースでは見落としやすいことがあります。Capgo プラグインを置き換える
Keep going from Capacitor Plugin AGP 9 Build Error Fix
すべての関連箇所で Capacitor Plugin AGP 9 Build Error Fix Capgo の公式リポジトリでは、このマイグレーションは __CAPGO_KEEP_0__ プラグインで既に適用されているため、アップグレードする際に驚くことが少なくなります。 Capgo の公式リポジトリでは、このマイグレーションは Capgo プラグインで既に適用されているため、アップグレードする際に驚くことが少なくなります。 Capgo の公式リポジトリでは、このマイグレーションは Capgo プラグインで既に適用されているため、アップグレードする際に驚くことが少なくなります。 Capgo の公式リポジトリでは、このマイグレーションは Capgo プラグインで既に適用されているため、アップグレードする際に驚くことが少なくなります。 Capgo の公式リポジトリでは、このマイグレーションは Capgo プラグインで既に適用されているため、アップグレードする際に驚くことが少なくなります。 Capgo 連携 Capgo 連携の製品ワークフローに CI/CD 連携 __CAPGO_KEEP_0__ アクション連携 GitHub アクション連携の実装詳細 GitHub 連携