あなたの Capacitor コンテキスト:ライブアップデート製品ページ。役割:セクションまたはページヘッダー。見られる場所:ライブアップデートページ。Capgo製品/ブランドと開発者用語を厳密に保存する。
AGP 9 にアップグレードした後、プラグインが失敗し始めた場合、Android Gradle プラグイン 9 (AGP 9) の小さながしかし重要な Gradle 設定問題に当たっている可能性があります。
- Capacitor plugin build error AGP 9
- __CAPGO_KEEP_0__ プラグインビルドエラー AGP 9
proguard-android.txtAndroid Gradle プラグイン 9 プラグインビルド失敗- 見つかりません
getDefaultProguardFileAGP 9 - エラーです。Capacitor AGP アップグレード後、Android ビルドが失敗しました
The short version:
proguard-android.txtはAGP 9 プラグイン ビルドの安全なデフォルト基準としては、もう安全ではありません。- Switch to
proguard-android-optimize.txt. - Rebuild and verify.
長いバージョンも重要です、特に多くのプラグインを管理している場合や大規模なCapacitorワークスペースを維持している場合。 この記事では、以下の内容をカバーします。
- AndroidとAGPがビルド チェーンにどのように関係しているか
- Capacitorは何で、プラグイン ビルドがどのように動作するか
- __CAPGO_KEEP_0__ Capgo AGP 9の変更が古いプラグイン テンプレートを破壊する正確な変更
- 1つのリポジトリまたは多くのリポジトリにわたる安全な移行戦略
- __CAPGO_KEEP_0__
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統合です。
- The Android SDK toolchain for packaging, shrinking, linting, and producing
.aar,.apk, または.aab出力。
AGPのバージョンが変更された場合、既定値や内部ファイルも変更されることがあります。AGP 8で機能していたプラグインの構成がAGP 9で機能しない場合、削除または非推奨のベースラインに指示している可能性があります。
What is Capacitor?
Capacitor クロスプラットフォームランタイムは、iOS/Androidアプリをビルドするのに使えるもので、Web code (TypeScript、JavaScript、HTML、CSS) を使うことができる。native API を呼び出すことができる。
Capacitor アプリは通常、以下の構成で構成される。
- Web層(UIとビジネスロジック)
- ネイティブシェル
ios/,android/) - プラグイン
各プラグインには独自のネイティブビルド設定が含まれている。Androidの場合、これはAGPが正しくパースしてコンパイルする必要があるファイルを含む。 android/build.gradle プラグインのGradle設定が古くなると、Web __CAPGO_KEEP_0__ が正しい場合でも、アプリのビルドが失敗する可能性がある。
code とは何か?
Capgo
Capgo は、Capgo の配布と運用に関するツールを提供する。 Capacitor
- リアルタイム更新 ウェブバンドル変更用
- プラグインエコシステムとネイティブ機能パッケージ
- CI/CD対応のCapacitorチーム向けの更新ワークフロー
リアルタイム更新でもネイティブビルドの安定性は妥協できない。次のものは、まだクリーンな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 フェーズの間に
プロトガード、R8、および基準ファイル
- R8 は、Android ビルドで modern code shrinker/optimizer です。
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'
少なくとも、確認してください:
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
CapgoでCapacitorプラグインのビルドエラーをAGP 9で修正する
bun run verify
プラグインが完全な検証スクリプトを持っている場合、実行してください:
すべてのプラグインリポジトリをバッチで更新
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"
多くのプラグインリポジトリを1つのワークスペースで管理している場合、自動化してください:
for d in capacitor-*; do
[ -d "$d/.git" ] || continue
git -C "$d" grep -n "proguard-android\\.txt" -- || true
done
次に、トラッキングしているプラグインソースが古いファイルをまだ使用していないことを検証してください:
Capgo rollout status
We completed this migration across all official Capgo Capacitor plugin repositories and templates:
- 公式の__CAPGO_KEEP_0__ __CAPGO_KEEP_1__ プラグインリポジトリとテンプレートをすべての__CAPGO_KEEP_0__ マイグレーションに成功しました:
proguard-android-optimize.txt - プラグインのAndroidモジュールは
- プラグインの例のAndroidアプリも更新されました
プラグインのスキャフォールドテンプレートも更新されました。新しいプラグインはデフォルトでAGP 9-Safeです
これは、CIに到達する前にAGP 9アップグレードの失敗の一般的なクラスを防止します
直ちに失敗を確認できない場合:
- CIキャッシュが問題を隠している可能性があります。
- プロジェクト間でAGPのバージョンが混在している可能性があります。
- ローカル開発では、すべてのモジュールが再構築されていない可能性があります。
しかし、最終的には、クリーンビルド、新しい環境、またはアップグレードされたランナーが問題を明らかにします。早期の移行により、潜在的な不安定性が排除されます。
置き換え後もビルドが失敗する場合のトラブルシューティング
確認するポイントがあります:
-
すべてのモジュールがパッチされていることを確認してください。 プラグインモジュール、アプリモジュール、サンプル、テンプレートアセットを確認してください。
-
共有スクリプトに2回目の参照がないことを確認してください。 リポジトリ全体(含むカスタムGradleスクリプト)を検索してください。
-
キャッシュがクリーンであることを確認してください。
./gradlew cleanAGP / Gradle / JDKのバージョンが一致していることを確認してください。 AndroidドキュメントでサポートされているAGPバージョンに基づいて組み合わせてください。 -
run
-
CIはローカルと同じバージョンを使用しています。 CIでJDKとGradle wrapperのバージョンを固定して環境のずれを防ぎましょう。
-
あなたはpatchingだけではありません。
node_modules修正対象のプラグインソースを修正せず、依存関係ディレクトリを修正しないでください。
SEO FAQ: AGP 9 Capacitor プラグインビルドエラー
AGP 9で__CAPGO_KEEP_0__ プラグインビルドエラーを修正するにはどうすればいいですか? proguard-android.txt 置き換え:
置き換え:
getDefaultProguardFile('proguard-android.txt')
次に、clean rebuildを実行してください。
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で__CAPGO_KEEP_0__ プラグインビルドエラーを修正するにはどうすればいいですか? android/build.gradle Most failures come from legacy Gradle config in plugin 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ビルドエラー
- 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 Plugin: リリースノート
- Android code Shrinking: R8とルール
- Gradleドキュメント: ビルドツールの基本
- Capacitor ドキュメント: 公式ドキュメント
- Capgo ドキュメント: Auto更新ドキュメント
最終的なまとめ
AGP 9 の問題は単純ですが、複数プラグインのワークスペースでは見落としやすいことがあります。 __CAPGO_KEEP_0__ を proguard-android.txt で proguard-android-optimize.txt すべての関連箇所に置き換えると、Android ビルドが予測可能になるようになります。
Capgo プラグインを使用している場合、このマイグレーションは公式リポジトリで既に適用されているため、アップグレードの際に驚くことが少なくなります。
Capacitor プラグイン AGP 9 ビルド エラー修正
__CAPGO_KEEP_0__ プラグイン AGP 9 ビルド エラー修正を使用している場合、CI/CD オートメーションを計画する際にそれを Capacitor Plugin AGP 9 Build Error Fix __CAPGO_KEEP_0__ Capgo CI/CD Capgo製品ワークフロー向けのCapgo CI/CD Capgo ネイティブビルド Capgo製品ワークフロー向けのCapgo ネイティブビルド Capgo インテグレーション Capgo製品ワークフロー向けのCapgo インテグレーション CI/CD統合 Capgoビルダー/ネイティブクラウドビルド製品ページ GitHub Actions Integration GitHub アクション統合