あなたのプラグインが Android Gradle プラグイン 9 (AGP 9) にアップグレードした後、ビルドが失敗し始めた場合、Gradle の構成問題に遭遇している可能性があります。 Capacitor __CAPGO_KEEP_0__ プラグイン AGP 9 ビルドエラー
Android Gradle プラグイン 9 ビルド失敗
- Capacitor plugin build error AGP 9
- AGP 9
proguard-android.txtプラグイン- AGP 9
getDefaultProguardFileエラー - Capacitor Android ビルドが AGP アップグレード後に失敗しました
短いバージョン:
proguard-android.txtAGP 9 プラグイン ビルドで安全な基準として参照することはもう安全ではありません。- に切り替えます
proguard-android-optimize.txt. - 再構築して確認してください。
長いバージョンも重要です。特に、多くのプラグインや大規模なCapacitorワークスペースを管理している場合に。 この記事では以下の内容をカバーします。
- AndroidとAGPがビルド チェーンにどのように関係しているか
- Capacitorは何なのか、プラグイン ビルドがどのように動作するか
- __CAPGO_KEEP_0__ Capgo __CAPGO_KEEP_0__
- AGP 9の変更の正確な部分が古いプラグインテンプレートを破壊する
- 1 つのリポジトリまたは多数のリポジトリに対する安全な移行戦略
この文脈における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:
- Gradle ビルドシステムとしてGradle
- Android Gradle Plugin (AGP) Android固有のGradle統合としてAGP
- AndroidのSDKツールチェーンは、パッケージング、縮小、linting、および出力の生成
.aar,.apk, または.aab, または
When AGP versions change, some defaults and internal files can change too. A plugin configuration that worked for AGP 8 can fail on AGP 9 if it points to a removed or deprecated baseline.
What is 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 apps usually include:
- Web層 (UIとビジネスロジック)
- Nativeシェル
ios/,android/) - プラグイン (native機能をJavaScriptに公開)
各プラグインには独自のnativeビルド設定があります。Androidの場合、これはAGPが正しくパースしてコンパイルする必要があるファイルです。 android/build.gradle プラグインのGradle設定が古くなると、アプリ全体のビルドが失敗する可能性があります。Web開発言語が正しい場合でも。
If plugin Gradle settings are outdated, the whole app build can fail, even when your web code is correct.
What is Capgo?
Capgo Capgoが提供するツールは、Capacitorの配信と運用を取り巻くものです。
- ライブアップデート ウェブパッケージの変更
- プラグインエコシステムとネイティブ機能パッケージ
- CI/CDフレンドリーなCapacitorの更新ワークフロー
ライブアップデートにもかかわらず、ネイティブビルドの安定性は譲れません。次のことが必要です。
- アプリストア/プレイストアのリリース
- ネイティブプラグインのアップグレード
- プラットフォームSDKの移行
- チームのオンボーディングとCIの信頼性
AGP 9の互換性の修正は重要です。プラグイン層の信頼性を維持することで、配信パイプラインの予測性を保つことができます。
AGP 9 は古いプラグイン設定を破壊する
多くのプラグインテンプレートは歴史的に使用されました:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
AGP 9 の設定では、このレガシーバイナリ参照が失敗する可能性があります。古いファイルは、古いテンプレート/設定によって期待される場所に保証されていません。
典型的な症状は、Gradle エラーの発生です: assemble, lint, または build フェーズ、しばしばプロガードのベースライン リソースが欠落しているか、デフォルトのファイル参照が無効であることを示しています。
クイックな背景: プロガード、R8、およびベースライン ファイル
- R8 は、Android ビルドの現代的な code shrinker/optimizer です。
proguard-rules.proは、プロジェクト/プラグインのカスタムキープルールです。getDefaultProguardFile(...)ベースラインを Android からインジェクトします。
プロガードのベースライン リソースを参照する場合:
proguard-android.txt-> legacy, minimal baselineproguard-android-optimize.txt-> modern optimized baseline (recommended default in current setups)
AGP 9の互換性のために proguard-android-optimize.txt は実用的解決策です。
一行の修正
プラグインとアプリモジュールの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. Verify with Bun
bun run verify:android
__CAPGO_KEEP_0__ が完了している場合に限り、以下の手順を実行してください。
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
古い基準参照が追跡しているプラグインファイルから消えていることを意味します。
Capgo のロールアウト状況を確認してください。
公式の Capgo Capacitor プラグインリポジトリとテンプレートのこの移行を完了しました。
- プラグインの Android モジュールは、
proguard-android-optimize.txt - プラグインの例の Android アプリも更新されました。
- プラグインのスキャフォールド テンプレートも更新されました。新しいプラグインはデフォルトで AGP 9 安全です。
AGP 9のアップグレード失敗の一般的なクラスを、CIに到達する前に防止します。
今日はビルドが通っている場合でも、このことが重要な理由は
直ちに失敗を確認しない場合があります:
- CIキャッシュが問題を隠している
- プロジェクト間でAGPのバージョンが混在している
- ローカル開発でのみ一部のモジュールが再構築されている
しかし、最終的には、クリーンなビルド、新しい環境、またはアップグレードされたランナーで問題が露呈します。現在のマイグレーションにより、隠れた不安定性が排除されます。
置き換え後もビルドが失敗する場合のトラブルシューティング
確認する点があります:
-
すべてのモジュールが修正されています。 プラグインモジュール、アプリモジュール、サンプル、アセットテンプレートを確認してください。
-
共有スクリプトに2回目の参照がない。 リポジトリ全体(包括カスタムGradleスクリプト)を検索してください。
-
キャッシュがクリーンです。
./gradlew cleanそして再構築します。 -
AGP / Gradle / JDK バージョンは一致しています。 Android ドキュメントでサポートされているバージョンの組み合わせを使用してください。
-
CI はローカルと同じバージョンを使用しています。 CI で JDK と Gradle wrapper バージョンを固定して環境のずれを防ぎましょう。
-
あなたはパッチのみを適用していない
node_modules. トラッキングされているプラグインのソースを修正するのではなく、トランジット依存ディレクトリを修正するのではなく。
SEO FAQ: AGP 9 Capacitor プラグインビルドエラー
AGP 9 へのアップグレード後、__CAPGO_KEEP_0__ プラグインビルドが失敗するのはなぜですか? proguard-android.txt 置き換え:
With:
getDefaultProguardFile('proguard-android.txt')
次に、クリーン再構築を実行してください。
getDefaultProguardFile('proguard-android-optimize.txt')
SEO FAQ: AGP 9 __CAPGO_KEEP_0__ プラグインビルドエラー
AGP 9 へのアップグレード後、Capacitor プラグインビルドが失敗するのはなぜですか?
最も多くの失敗はプラグインの古いGradle構成から来ています android/build.gradle ファイルがまだ参照しています proguard-android.txt. AGP 9プロジェクトでは proguard-android-optimize.txt.
What is the fastest AGP 9 migration path for many Capacitor plugins?
ワークスペース全体で検索置換コマンドを使用し、代表的なプラグインで検証し、 git grep を実行してください bun run verify:android これは__CAPGO_KEEP_0__の問題だけですか?
Is this only a Capacitor issue?
この移行に適切なキーワードは何ですか?
内部の実行書き方やサポートページでこの内容を記載する場合、以下の用語を含めてください:
AGP 9ビルドエラー
- AGP 9ビルドエラー
- Android Gradle Plugin 9 ProGuardファイルが見つかりません
- Capacitor プラグインのAndroidビルドが失敗しました
proguard-android.txt置き換えproguard-android-optimize.txt移行
関連リンク
- Android Developers: アプリをビルドする概要
- Android Gradle Plugin: リリースノート
- Android code シリンギング: R8とルール
- Gradleドキュメント: ビルドツールの基本
- Capacitor ドキュメント: 公式ドキュメント
- Capgo ドキュメント: 自動更新ドキュメント
最終的なまとめ
AGP 9 の問題は単純ですが、複数のプラグインを使用するワークスペースでは見落としやすいことがあります。__CAPGO_KEEP_0__ をすべての関連箇所に置き換えると、Android のビルドが予測可能になります。 proguard-android.txt Capacitor プラグインを使用している場合、このマイグレーションは公式リポジトリで既に適用されているため、予期せぬサプライズが少なくアップグレードできます。 proguard-android-optimize.txt Capacitor プラグイン AGP 9 ビルド エラー修正
If you use Capgo plugins, this migration is already applied in official repositories so you can upgrade with fewer surprises.
Keep going from Capacitor Plugin AGP 9 Build Error Fix
Capacitor プラグインを使用している場合、このマイグレーションは公式リポジトリで既に適用されているため、予期せぬサプライズが少なくアップグレードできます。 Capacitor プラグイン AGP 9 ビルド エラー修正 CI/CD 自動化を計画するには、それを接続する Capgo CI/CD 製品ワークフローにおける Capgo CI/CD Capgo ネイティブ ビルド 製品ワークフローにおける Capgo ネイティブ ビルド Capgo インテグレーション 製品ワークフローにおける Capgo インテグレーション CI/CD インテグレーション CI/CD インテグレーション GitHub Actions Integration GitHub アクション インテグレーション