Kembali ke konten utama

Capacitor Mengatasi Kesalahan Pembangunan Plugin AGP 9

Solve AGP 9 Capacitor plugin build errors fast. Learn why proguard-android.txt fails, how to use proguard-android-optimize.txt, and how Capgo fixed Android Gradle Plugin 9 issues across plugins.

Penghargaan Artikel

Martin Donadieu

Pengarang

Valeria

Pengulas

Jordan

Editor

Capacitor Plugin AGP 9 Build Error Fix

Jika plugin Anda Capacitor mulai gagal setelah mengupgrade ke Android Gradle Plugin 9 (AGP 9), kemungkinan besar Anda menghadapi masalah konfigurasi Gradle yang kritikal.

Artikel ini secara spesifik menargetkan niat pencarian umum seperti:

  • Capacitor plugin build error AGP 9
  • Plugin build AGP 9 gagal
  • proguard-android.txt tidak ditemukan
  • AGP 9 getDefaultProguardFile error
  • Capacitor gagal build Android setelah mengupgrade AGP

Versi singkat:

  • proguard-android.txt tidak lagi merupakan dasar acuan yang aman untuk referensi dalam AGP 9 plugin builds.
  • Switch ke proguard-android-optimize.txt.
  • Rebuild dan verifikasi.

Versi panjang juga penting, terutama jika Anda menjaga banyak plugin atau workspace Capacitor yang besar. Dalam artikel ini kami membahas:

  • Apa itu Android dan AGP dalam rantai pembangunan
  • Apa itu Capacitor dan bagaimana plugin builds bekerja
  • Apa itu __CAPGO_KEEP_0__ Capgo Apa itu __CAPGO_KEEP_0__ dan mengapa ini penting untuk keandalan rilis
  • Pengubahan AGP 9 yang tepat yang mengganggu template plugin lama
  • Strategi migrasi yang aman untuk satu repo atau banyak repo

Apakah itu Android dalam konteks ini?

Android adalah baik sistem operasi maupun ekosistem pembangunan. Ketika Anda mengirimkan aplikasi atau plugin Capacitor pada Android, proyek Anda akan melewati:

  1. Gradle sebagai sistem pembangunan.
  2. Android Gradle Plugin (AGP) sebagai integrasi Gradle yang spesifik untuk Android.
  3. Kit pengembangan Android SDK untuk pengemasan, pengurangan, pemeriksaan kesalahan, dan produksi .aar, .apk, atau .aab hasil keluaran.

Ketika versi AGP berubah, beberapa default dan file internal juga dapat berubah. Konfigurasi plugin yang berfungsi untuk AGP 8 dapat gagal pada AGP 9 jika mengacu pada basis yang dihapus atau yang sudah tidak digunakan lagi.

Apakah itu Capacitor?

Capacitor adalah runtime lintas platform yang memungkinkan Anda membangun aplikasi iOS/Android dengan web code (TypeScript, JavaScript, HTML, CSS) sambil masih memanggil API native.

Capacitor biasanya mencakup:

  • A layer web (logika bisnis dan UI Anda)
  • Sekelompok kulit native (ios/, android/)
  • Plugin yang mengungkapkan fitur native ke JavaScript

Setiap plugin memiliki konfigurasi build native sendiri. Pada Android, ini berarti setiap plugin termasuk sebuah android/build.gradle file yang AGP harus memproses dan mengompilasi dengan benar.

Jika pengaturan Gradle plugin sudah ketinggalan zaman, maka proses build aplikasi seluruhnya bisa gagal, bahkan ketika web code Anda sudah benar.

Apakah Capgo?

Capgo menawarkan alat-alat seputar pengiriman dan operasi Capacitor:

  • Update Hidup untuk perubahan bundle web
  • Sistem plugin dan paket fitur native
  • Workflows pembaruan yang aman untuk tim Capacitor

Meskipun ada update hidup, kestabilan build native tidak dapat ditawar. Anda masih membutuhkan build Android yang bersih untuk:

  • Peluncuran App Store / Play Store
  • Pembaruan plugin native
  • Migrasi platform SDK
  • Penyertaan tim dan keandalan CI

Itulah mengapa perbaikan kompatibilitas AGP 9 penting: mereka menjaga layer plugin andal sehingga pipa pengiriman tetap dapat diprediksi.

Mengapa AGP 9 memecahkan konfigurasi plugin yang lebih tua

Banyak template plugin sejarahnya menggunakan:

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

In pengaturan AGP 9, referensi dasar ini dapat gagal karena file lama tidak lagi dijamin ada di lokasi yang diharapkan oleh template/konfigurasi yang lebih tua.

Gejala umum termasuk kesalahan Gradle selama assemble, lint, atau build tahap, sering menunjukkan sumber daya ProGuard dasar yang hilang atau referensi file default yang tidak valid.

Ringkasan singkat: ProGuard, R8, dan file dasar

  • R8 adalah code pengurang/optimasi modern dalam pembangunan Android.
  • proguard-rules.pro adalah aturan pengecualian kustom Anda untuk proyek/plugin.
  • getDefaultProguardFile(...) menambahkan dasar Android yang disediakan.

Jika Anda mengacu:

  • proguard-android.txt ke referensi dasar lama, minimal
  • proguard-android-optimize.txt ke referensi dasar modern yang dioptimalkan (rekomendasi default dalam pengaturan saat ini)

Untuk kompatibilitas AGP 9, beralih ke proguard-android-optimize.txt adalah solusi yang praktis.

Solusi satu baris:

Perbarui file Gradle plugin dan modul aplikasi:

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

Setidaknya, periksa:

  • android/build.gradle dalam setiap plugin
  • example-app/android/app/build.gradle dalam repositori plugin
  • File generator/template apa pun yang menciptakan konfigurasi Gradle plugin baru

Petunjuk migrasi untuk satu plugin

1. Temukan referensi lama

rg -n "proguard-android\\.txt" android example-app

2. Ganti dengan

perl -pi -e "s/proguard-android\\.txt/proguard-android-optimize.txt/g" \
  android/build.gradle example-app/android/app/build.gradle

3. Verifikasi dengan Bun

bun run verify:android

Jika plugin Anda memiliki skrip verifikasi lengkap, jalankan:

bun run verify

Perbarui batch semua repositori plugin

Jika Anda menjaga banyak repositori plugin dalam satu workspace, otomatisasikan:

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"

Lalu validasi bahwa tidak ada sumber plugin yang diikuti masih menggunakan file lama:

for d in capacitor-*; do
  [ -d "$d/.git" ] || continue
  git -C "$d" grep -n "proguard-android\\.txt" -- || true
done

Tidak ada match berarti referensi baseline lama hilang dari file plugin yang diikuti.

Capgo status peluncuran

Kami telah menyelesaikan migrasi ini di semua repositori plugin resmi Capgo dan template Capacitor:

  • Modul Android plugin sekarang mengacu pada proguard-android-optimize.txt
  • Contoh aplikasi Android plugin telah diperbarui juga
  • Template pengembangan plugin telah diperbarui sehingga plugin baru aman secara default dari AGP 9

Hal ini mencegah jenis kesalahan klasik upgrade AGP 9 sebelum mereka menabrak CI.

Mengapa ini penting bahkan jika build Anda berhasil hari ini.

Jika Anda tidak melihat gagal segera jika:

  • Cache CI Anda masih menyembunyikan masalah tersebut
  • Versi AGP yang berbeda-beda di antara proyek
  • Hanya beberapa modul yang dibangun ulang dalam pengembangan lokal

Tapi akhirnya, bangun bersih, lingkungan baru, atau pengguna runner yang ditingkatkan mengungkapkannya. Melakukan migrasi sekarang menghilangkan ketidakstabilan yang disembunyikan.

Mengatasi masalah jika bangun masih gagal setelah penggantian

Periksa poin-poin berikut:

  1. Setiap modul telah diperbaiki. Lihat modul plugin, modul aplikasi, contoh, dan aset template.

  2. Tidak ada referensi kedua di skrip bersama. Cari seluruh repositori (termasuk skrip Gradle yang disesuaikan).

  3. Cache bersih. Jalankan dan bangun ulang. ./gradlew clean Versi AGP / Gradle / JDK disesuaikan. Gunakan kombinasi yang didukung oleh dokumentasi Android untuk versi AGP Anda.

  4. Periksa poin-poin berikut:

  5. CI menggunakan versi yang sama dengan lokal. Tetapkan versi JDK dan wrapper Gradle di CI untuk menghindari perubahan lingkungan.

  6. Anda tidak hanya memperbaiki node_modules. Perbaiki sumber plugin yang dipantau, bukan direktori dependensi sementara.

FAQ SEO: AGP 9 Capacitor error build plugin

Bagaimana cara saya memperbaiki proguard-android.txt tidak ditemukan di AGP 9?

Ganti:

getDefaultProguardFile('proguard-android.txt')

Dengan:

getDefaultProguardFile('proguard-android-optimize.txt')

Lalu jalankan rebuild bersih.

Mengapa plugin Capacitor saya gagal dibangun setelah mengupgrade ke Android Gradle Plugin 9?

Kebanyakan gagalnya berasal dari konfigurasi Gradle legacy di plugin android/build.gradle file yang masih mengacu proguard-android.txt. AGP 9 proyek harus menggunakan proguard-android-optimize.txt.

Apa saja cara migrasi AGP 9 yang paling cepat untuk banyak Capacitor plugin?

Gunakan perintah pencarian dan penggantian secara workspace-wide, kemudian validasi dengan git grep dan jalankan bun run verify:android pada plugin-representatif.

Apakah ini hanya masalah Capacitor?

Tidak. Apapun modul Android (aplikasi atau library) yang menggunakan referensi ProGuard yang sudah usang dapat mengalami kesalahan build AGP 9 yang sama. Hal ini sangat terlihat dalam ekosistem plugin karena banyak repository yang berbagi template yang sudah lama.

Apa saja kata kunci yang relevan untuk migrasi ini?

Jika Anda mendokumentasikan hal ini di buku petunjuk internal atau halaman dukungan, termasuk istilah seperti:

  • Kesalahan build AGP 9
  • Plugin Android build gagal karena file ProGuard Android Gradle Plugin 9 hilang
  • plugin Capacitor Android build gagal
  • proguard-android.txt Penggantian
  • proguard-android-optimize.txt Migrasi

Kesimpulan akhir

Masalah ini dengan AGP 9 sederhana, tapi mudah dilupakan dalam workspace plugin multi. proguard-android.txt Setelah Anda mengganti proguard-android-optimize.txt di mana saja yang relevan,

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

plugin __CAPGO_KEEP_0__ ini, migrasi ini sudah diterapkan di repositori resmi sehingga Anda bisa mengupgrade dengan lebih sedikit kejutan. Capacitor Plugin AGP 9 Build Error Fix Jika Anda menggunakan plugin __CAPGO_KEEP_0__ ini untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo Pengujian/Proses Penerbitan untuk alur kerja produk di Capgo Pengujian/Proses Penerbitan, Capgo Pembangunan Asli untuk alur kerja produk di Capgo Pembangunan Asli, Capgo Integrasi for the product workflow in Capgo Integrations, untuk alur kerja produk di __CAPGO_KEEP_0__ Integrasi, Pengintegrasian CI/CD GitHub Actions Integration for the implementation detail in GitHub Actions Integration.

Update langsung untuk Capacitor apps

Ketika bug layer web sedang hidup, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan update di latar belakang sementara perubahan native tetap dalam jalur review normal.

Bantuan manusia dari Martin

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi mobile yang benar-benar profesional.