メインコンテンツにジャンプします

Capacitor プラグイン AGP 9 ビルド エラーの解決

AGP 9 Capacitor プラグインのビルド エラーを迅速に解決する。プロガード-アンドロイド-テキストが失敗する理由を学び、プロガード-アンドロイド-最適化テキストを使用する方法と、Capgo が Android Gradle プラグイン 9 の問題をプラグイン全体で解決した方法を学びます。

記事のクレジット

マーティン・ドナディュー

ライター

バレリア

レビュアー

ジョーダン

エディター

Capacitor プラグイン AGP 9 ビルド エラー修正

あなたのプラグインが 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.txt AGP 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:

  1. Gradle ビルドシステムとしてGradle
  2. Android Gradle Plugin (AGP) Android固有のGradle統合としてAGP
  3. 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 baseline
  • proguard-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のバージョンが混在している
  • ローカル開発でのみ一部のモジュールが再構築されている

しかし、最終的には、クリーンなビルド、新しい環境、またはアップグレードされたランナーで問題が露呈します。現在のマイグレーションにより、隠れた不安定性が排除されます。

置き換え後もビルドが失敗する場合のトラブルシューティング

確認する点があります:

  1. すべてのモジュールが修正されています。 プラグインモジュール、アプリモジュール、サンプル、アセットテンプレートを確認してください。

  2. 共有スクリプトに2回目の参照がない。 リポジトリ全体(包括カスタムGradleスクリプト)を検索してください。

  3. キャッシュがクリーンです。 ./gradlew clean そして再構築します。

  4. AGP / Gradle / JDK バージョンは一致しています。 Android ドキュメントでサポートされているバージョンの組み合わせを使用してください。

  5. CI はローカルと同じバージョンを使用しています。 CI で JDK と Gradle wrapper バージョンを固定して環境のずれを防ぎましょう。

  6. あなたはパッチのみを適用していない 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 移行

最終的なまとめ

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 アクション インテグレーション

Capacitor アプリのライブアップデート

Web層のバグが生じた場合、Capgoを通じて修正を配信するのではなく、数日間待ってアプリストアの承認を待つのではなく、ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路で残ります。

マーティンによる人間のサポート

始めましょう

最新のブログ記事

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。