Editor Capacitor Jika plugin Anda mulai gagal setelah mengupgrade ke Android Gradle Plugin 9 (AGP 9), kemungkinan besar Anda menghadapi masalah konfigurasi Gradle yang kecil tetapi sangat kritis.
Ini postingan ini secara khusus menargetkan niat pencarian umum seperti:
- Capacitor plugin build error AGP 9
- plugin build AGP 9 gagal
proguard-android.txttidak ditemukan- AGP 9
getDefaultProguardFileerror - Capacitor Pembangunan Android gagal setelah mengupgrade AGP
The short version:
proguard-android.txtversi singkat tidak lagi merupakan dasar aman untuk merujuk dalam pembangunan plugin AGP 9.- Switch to
proguard-android-optimize.txt. - Rebuild dan verifikasi.
The longer version matters too, terutama jika Anda menjaga banyak plugin atau workspace Capacitor besar.
- In artikel ini kami membahas:
- What Capacitor is and how plugin builds work
- Apa __CAPGO_KEEP_0__ dan bagaimana pembangunan plugin bekerja Apa Capgo context: Teks fragment HTML dari string Capgo UI yang lebih panjang (kunci induk `submitting_a_pr_to_capgo`). Halaman/area: Situs web pemasaran Capgo. Peran: Kalimat teks situs web. Dilihat di: halaman contributing.astro. Simpan Capgo produk/merek dan istilah pengembang secara tepat. Kunci pesan `submitting_a_pr_to_capgo` (Mengirimkan PR ke Capgo).
- Perubahan AGP 9 yang tepat yang mengganggu template plugin lama
- Strategi migrasi aman untuk satu repositori atau banyak repositori
Apa 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:
- Gradle sebagai sistem pembangunan.
- Android Gradle Plugin (AGP) sebagai integrasi Gradle yang spesifik Android.
- Kit pengembangan Android SDK untuk pengemasan, pengurangan, pemeriksaan, dan produksi
.aar,.apk, atau.aabhasil 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 garis dasar yang dihapus atau yang sudah tidak digunakan.
Apakah Capacitor?
Capacitor adalah runtime lintas platform yang memungkinkan Anda membangun aplikasi iOS/Android dengan menggunakan web code (TypeScript, JavaScript, HTML, CSS) sambil masih mengakses API native.
Applikasi Capacitor biasanya mencakup:
- Lapisan web (UI dan logika bisnis Anda)
- Kotak native (
ios/,android/) - Plugin yang mengungkapkan fitur native ke JavaScript
Setiap plugin memiliki konfigurasi build native sendiri. Pada Android, ini berarti setiap plugin termasuk file yang AGP harus memproses dan mengompilasi dengan benar. android/build.gradle Jika pengaturan Gradle plugin sudah ketinggalan zaman, proses build aplikasi seluruhnya dapat gagal, bahkan ketika web __CAPGO_KEEP_0__ Anda sudah benar.
Apakah code?
Apakah Capgo?
Capgo Menghadirkan alat-alat seputar pengiriman dan operasional Capacitor:
- Update Hidup untuk perubahan bundle web
- Sistem Ecosystem Plugin dan Paket Fitur Asli
- Aliran Kerja Perbaruan yang Ramah CI/CD untuk Capacitor tim
Meskipun dengan update hidup, kestabilan pembangunan asli tidak dapat ditawar. Anda masih memerlukan pembangunan Android yang bersih untuk:
- Rilis App Store / Play Store
- Pengembangan Plugin Asli
- Penggantian Platform SDK
- Pengenalan Tim dan Keterandalan CI
Itulah mengapa perbaikan kompatibilitas AGP 9 penting: mereka menjaga lapisan plugin andal sehingga aliran pipa pengiriman tetap dapat diprediksi.
Why AGP 9 Menghancurkan Konfigurasi Plugin yang Lebih Tua
Banyak template plugin sejarahnya digunakan:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
Dalam pengaturan AGP 9, referensi dasar ini dapat gagal karena file lama tidak lagi dijamin ada di lokasi yang diharapkan oleh template/config yang lebih tua.
Gejala yang 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.
Latar belakang cepat: ProGuard, R8, dan file dasar
- R8 adalah pengurang/optimasi modern code dalam pembangunan Android.
proguard-rules.proadalah aturan keep kustom Anda untuk proyek/plugin.getDefaultProguardFile(...)menyuntikkan basis Android yang disediakan.
Ketika Anda mengacu:
proguard-android.txt-> legacy, minimal baselineproguard-android-optimize.txt-> modern optimized baseline (recommended default in current setups)
Untuk kompatibilitas AGP 9, beralih ke proguard-android-optimize.txt adalah solusi yang praktis.
Solusi satu baris
Perbarui plugin dan file Gradle modul aplikasi:
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Setidaknya, periksa:
android/build.gradledi setiap pluginexample-app/android/app/build.gradledi 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 __CAPGO_KEEP_0__
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
Buat pembaruan batch untuk 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.
Status peluncuran Capgo Capgo:
We completed this migration across all official Capgo Capacitor plugin repositories and templates:
- 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 dengan AGP 9
Hal ini mencegah kelas umum gagal upgrade AGP 9 sebelum mereka menabrak CI.
Mengapa ini penting bahkan jika build Anda berhasil hari ini.
Mungkin Anda tidak melihat gagal segera jika:
- Cache CI Anda masih menyembunyikan masalah.
- Anda memiliki versi AGP campuran di proyek-proyek.
- Hanya beberapa modul yang direkonstruksi dalam pengembangan lokal.
Tapi akhirnya, build bersih, lingkungan baru, atau pengguna runner yang ditingkatkan mengungkapnya. Melakukan migrasi sekarang menghilangkan ketidakstabilan yang disembunyikan.
Mengatasi masalah jika build masih gagal setelah penggantian.
Periksa poin-poin berikut:
-
Setiap modul telah diperbaiki. Lihat modul plugin, modul aplikasi, contoh, dan aset template.
-
Tidak ada referensi kedua di skrip bersama. Cari seluruh repositori (termasuk skrip Gradle kustom).
-
Cache bersih. Jalankan
./gradlew cleandan merekonstruksi. -
Versi AGP / Gradle / JDK sudah sesuai. Gunakan kombinasi yang disarankan oleh dokumentasi Android untuk versi AGP Anda.
-
Penggunaan CI menggunakan versi yang sama dengan lokal. Tetapkan versi JDK dan wrapper Gradle di CI untuk menghindari perubahan lingkungan.
-
Anda tidak hanya memperbaiki patch.
node_modulesPerbaiki sumber plugin yang dipantau, bukan direktori dependensi transien.
FAQ SEO: AGP 9 Capacitor error pembangunan 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 pembangunan bersih kembali.
Mengapa plugin Capacitor saya gagal dibangun setelah mengupgrade ke Android Gradle Plugin 9?
Masalah paling umum berasal dari konfigurasi Gradle legacy di plugin android/build.gradle file yang masih mengacu pada proguard-android.txt. Projek AGP 9 harus menggunakan proguard-android-optimize.txt.
Apakah jalur migrasi AGP 9 yang paling cepat untuk banyak Capacitor plugin?
Pakai perintah pencarian dan penggantian workspace secara keseluruhan, lalu validasi dengan git grep dan jalankan bun run verify:android pada plugin perwakilan.
Apakah ini hanya masalah Capacitor saja?
Tidak. Apapun modul Android (aplikasi atau library) yang menggunakan referensi ProGuard baseline yang sudah ketinggalan zaman dapat mengalami kesalahan build AGP 9 yang sama. Hal ini sangat terlihat di ekosistem plugin karena banyak repositori yang membagikan template lama.
Apakah kata kunci apa yang relevan untuk migrasi ini?
Jika Anda mendokumentasikan hal ini di buku petunjuk internal atau halaman dukungan, termasuk istilah seperti:
- kesalahan build AGP 9
- Android Gradle Plugin 9 ProGuard file tidak ada
- Capacitor plugin pembangunan Android gagal
proguard-android.txtpenggantiproguard-android-optimize.txtmigrasi
Tautan terkait
- Pengembang Android: Ringkasan pembangunan aplikasi Anda
- Pengembang Gradle Android: Catatan rilis
- Pengurangan Android code: R8 dan aturan
- Dokumen Gradle: Dasar-dasar alat binaan
- Capacitor dokumen: Dokumentasi resmi
- Capgo dokumen: Dokumen pembaruan otomatis
Kesimpulan akhir
Masalah ini dengan AGP 9 sederhana, tetapi mudah dilupakan dalam lingkungan kerja 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 dapat mengupgrade dengan lebih sedikit kejutan. Capacitor Plugin AGP 9 Build Error Fix untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo CI/CD untuk alur kerja produk di Capgo CI/CD, Capgo Pembangunan Natively untuk alur kerja produk di Capgo Pembangunan Natively, Capgo Integrasi untuk alur kerja produk di Capgo Integrasi, Integrasi CI/CD untuk alur kerja produk di halaman integrasi Capgo. Peran: Judul halaman atau item navigasi pendek. Message key `native_build_feature_ci_cd` (Fitur Pembangunan Natively Ci Cd). GitHub Actions Integration GitHub Integrasi Aksi