あなたの Capacitor Android Gradle プラグイン 9 (AGP 9) にアップグレードした後、プラグインが失敗した場合、Gradle の構成問題に遭遇している可能性があります。
この投稿では、次のような一般的な検索意図を対象としています。
- Capacitor プラグイン ビルド エラー AGP 9
- Android Gradle プラグイン 9 プラグイン ビルド失敗
proguard-android.txt見つかりません- AGP 9
getDefaultProguardFileエラー - Capacitor Android ビルド AGP アップグレード後失敗
The short version:
proguard-android.txtはAGP 9 プラグイン ビルドで参照する安全なデフォルト基準ではなくなりました。- に切り替えます。
proguard-android-optimize.txt. - 再構築と確認。
長いバージョンも重要です。特に、多くのプラグインを管理する場合や大規模なCapacitorワークスペースを管理する場合にそうです。この記事では、以下について説明します。
- AndroidとAGPがビルド チェーンにどのように関係しているか
- Capacitorが何であり、プラグイン ビルドがどのように機能するか
- __CAPGO_KEEP_0__ Capgo AGP 9 の変更が古いプラグイン テンプレートを破壊する正確なもの
- 1 つのリポジトリまたは多くのリポジトリにわたる安全な移行戦略
- __CAPGO_KEEP_0__
Androidはこの文脈で何を意味しますか?
__CAPGO_KEEP_0__ Androidは、オペレーティングシステムとビルドエコシステムの両方です。Android上でCapacitorアプリまたはプラグインを配信する場合、プロジェクトは次のプロセスを通過します:
- Gradle Gradleビルドシステムとして機能します。
- Android Gradle Plugin (AGP) Android固有のGradle統合として機能します。
- Android SDK ツールチェーンは、パッケージング、縮小、linting、および出力
.aar,.apk、または.aab出力します。
AGPバージョンが変更された場合、既定値と内部ファイルも変更されることがあります。AGP 8で機能していたプラグイン構成は、AGP 9で失敗する可能性があります。プラグイン構成が削除されたまたは非推奨のベースラインに指している場合に限ります。
Capacitor
Capacitor codeは、iOS/Androidアプリを構築するのに使えるクロスプラットフォームランタイムです。Web code (TypeScript、JavaScript、HTML、CSS)を使用して、まだネイティブAPIを呼び出すことができます。
Capacitorアプリは通常、以下の要素を含みます。
- Web層(UIとビジネスロジック)
- ネイティブシェル(
ios/,android/) - ネイティブ機能をJavaScriptに公開するプラグイン
各プラグインには独自のネイティブビルド設定があります。Androidの場合、これは各プラグインに含まれる android/build.gradle ファイルがAGPによって正しくパースおよびコンパイルされることを意味します。
プラグインのGradle設定が古くなると、アプリのビルド全体が失敗する可能性があります。Web codeが正しい場合でも。
What is Capgo?
Capgo は、Capacitor配信と運用に関するツールを提供します。
- リアルタイム更新 __CAPGO_KEEP_0__ ウェブ バンドルの変更に対応
- プラグイン エコシステムとネイティブ機能パッケージ
- Capacitor チーム向け CI/CD フレンドリーな更新ワークフロー
リアルタイム更新にもかかわらず、ネイティブ ビルドの安定性は妥協できない。まだ、以下のためにクリーンな 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 フェーズのときです。これは、ProGuard の基準ファイルが欠落しているか、デフォルトのファイル参照が無効であることを示唆しています。
Quick background: ProGuard、R8、および基準ファイル
- R8 は、Android ビルドで modern code shrinker/optimizer です。
proguard-rules.proは、プロジェクト/プラグインのカスタムキープルールを表します。getDefaultProguardFile(...)は、Android から提供される基準ファイルを挿入します。
参照する場合:
proguard-android.txt-> レガシーバイナリ、最小限の基準proguard-android-optimize.txt-> 現在のセットアップで推奨される modern オプティマイズされた基準 (推奨)
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. を確認する 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"
__CAPGO_KEEP_0__ を使用して、まだ古いファイルを使用していないトラッキングされたプラグインソースを検証してください。
for d in capacitor-*; do
[ -d "$d/.git" ] || continue
git -C "$d" grep -n "proguard-android\\.txt" -- || true
done
古い基準参照がトラッキングされたプラグインファイルから消えていることを確認するには、次のコマンドを実行してください。
Capgo rollout status
Capgo Capacitor の公式プラグインリポジトリとテンプレートをすべてのマイグレーションに成功させました。
- プラグインのAndroidモジュールは、
proguard-android-optimize.txt - プラグインの例のAndroidアプリも更新されました。
- プラグインのスキャフォールドテンプレートは、デフォルトでAGP 9に安全です。
これは、CIに到達する前にAGP 9のアップグレードの失敗の一般的なクラスを防ぐためです。
あなたのビルドが今日も通っている場合でも、これは重要な理由です。
直ちに失敗を確認できない場合:
- CI キャッシュが問題を隠している
- プロジェクト間でAGPのバージョンが混在している
- ローカル開発でのみ一部のモジュールが再構築されている
しかし、最終的には、クリーンビルド、新しい環境、またはアップグレードされたランナーで問題が露呈される。現在の移行により、隠れた不安定性が排除される。
置き換え後もビルドが失敗する場合のトラブルシューティング
確認する点:
-
すべてのモジュールがパッチが適用されている。 プラグインモジュール、アプリモジュール、サンプル、アセットテンプレートを確認する。
-
共有スクリプトに2回目の参照がない。 リポジトリ全体(包括カスタムGradleスクリプト)を検索する。
-
キャッシュがクリーンである。
./gradlew cleanRun -
AGP / Gradle / JDK バージョンが整合している。 AndroidドキュメントでサポートされているAGPバージョンに基づいて組み合わせる。
-
CIはローカルと同じバージョンを使用します。 CIでJDKとGradle wrapperバージョンを固定して環境のずれを防ぎましょう。
-
あなたはpatchのみを修正していない
node_modules。 トラッキングされているプラグインソースを修正せず、非恒久的な依存関係ディレクトリを修正してください。
SEO FAQ: AGP 9 Capacitor プラグインビルドエラー
AGP 9で__CAPGO_KEEP_0__ プラグインビルドエラーを修正するにはどうすればいいですか? proguard-android.txt 置き換え:
次に、クリーンビルドを実行してください。
getDefaultProguardFile('proguard-android.txt')
Android Gradle Plugin 9にアップグレードした後、__CAPGO_KEEP_0__ プラグインビルドが失敗するのはなぜですか?
getDefaultProguardFile('proguard-android-optimize.txt')
ほとんどの失敗は、プラグインファイル内の古いGradle構成から来ています。
Why does my Capacitor plugin build fail after upgrading to Android Gradle Plugin 9?
依存関係の古いGradle構成を修正してください。 android/build.gradle 依存関係の古いGradle構成を修正してください。 proguard-android.txt. AGP 9プロジェクトは9プロジェクトを使用する必要があります。 proguard-android-optimize.txt.
AGP 9の多くのCapacitorプラグインの最速の移行パスは何ですか?
ワークスペース全体の検索置換コマンドを使用し、代表的なプラグインで検証してください。 git grep と実行してください。 bun run verify:android これは__CAPGO_KEEP_0__の問題のみですか?
Is this only a Capacitor issue?
この移行に関連するキーワードは何ですか?
内部の実行書き方やサポートページでこの内容を記載する場合は、以下の用語を含めてください。
AGP 9ビルドエラー
- Android Gradle Plugin 9 ProGuardファイルが欠落している
- __CAPGO_KEEP_0__プラグインのAndroidビルドが失敗しました
- Capacitor plugin Android build failed
proguard-android.txt置換proguard-android-optimize.txt移行
関連リンク
- Android Developers: アプリの構築概要
- Android Gradle プラグイン: リリースノート
- Android code Shrinking: R8とルール
- Gradle ドキュメント: ビルドツールの基本
- Capacitor ドキュメント: 公式ドキュメント
- Capgo ドキュメント: 自動更新ドキュメント
最終的なまとめ
__CAPGO_KEEP_0__ プラグインを使用している場合、このマイグレーションは公式リポジトリで既に適用されているため、驚きの少ないアップグレードが可能です。 proguard-android.txt __CAPGO_KEEP_0__ プラグインを使用している場合、このマイグレーションは公式リポジトリで既に適用されているため、驚きの少ないアップグレードが可能です。 proguard-android-optimize.txt __CAPGO_KEEP_0__ プラグイン AGP 9 ビルド エラー修正
Capgo プラグイン AGP 9 ビルド エラー修正
Capacitor プラグイン AGP 9 ビルド エラー修正を使用してCI/CDの自動化を計画し、Cloudflare、Capacitor、GitHub、Capgo、API、SDK、CLI、npm、bunと接続する
このAGP 9の問題は単純ですが、複数のプラグインを使用するワークスペースでは簡単に見過ごされます。 Capacitor Plugin AGP 9 Build Error Fix to plan CI/CD automation, connect it with Capgo CI/CD Capgoの製品ワークフロー Capgo Native Builds Capgoのネイティブビルドワークフロー Capgo Integrations Capgoの統合ワークフロー CI/CD統合 CI/CD統合の実装詳細 GitHub Actions Integration GitHub Actions統合の実装詳細