__CAPGO_KEEP_0__ Capacitor Aplikasi? Panduan ini menjelaskan cara menggunakan file AAR (Android Archive) dalam Capacitor untuk menggabungkan fungsi native Android dengan aplikasi web lintas platform.
Poin Utama:
- Apa itu file AAR? Perpustakaan Android yang sudah di-packaging, mengandung code, sumber daya, dan file native.
- Mengapa menggunakan mereka? File AAR memungkinkan code digunakan kembali, memudahkan perawatan, dan melindungi fitur properti.
- Apa yang dibutuhkan? Alat seperti Android Studio, Bagaimana cara mengintegrasikan?Tempatkan file-file AAR di konfigurasi Gradle, dan hubungkan ke __CAPGO_KEEP_0__ plugin.Langkah-Langkah Cepat:
- Siapkan lingkungan Anda: Pasang alat-alat yang diperlukan dan konfigurasi Android Studio.
libs, configure Gradle, and connect them to Capacitor plugins.
Buat struktur yang jelas untuk
- Gradle , dan
- Node.js , plus pengaturan proyek yang tepat. Capacitor plugin.
- Tambahkan file AAR: Tempatkan mereka di
android/libsdan perbarui dependensi Gradle. - Tulis plugin code: Hubungkan fungsi AAR dengan JavaScript dengan Capacitor’s API.
- Uji secara menyeluruh: Pakai debugger Android Studio untuk memastikan integrasi lancar.
Dengan mengikuti panduan ini, Anda dapat menyematkan file AAR ke dalam plugin Capacitor Anda dengan mudah, sehingga memungkinkan Anda untuk mengakses kemampuan Android native untuk aplikasi web Anda.
Bagaimana cara mengintegrasikan sebuah library Android (file AAR) ke dalam sebuah capacitor plugin

Persyaratan Pengaturan Pengembangan
Sebelum bekerja dengan file-file AAR, pastikan lingkungan pengembangan Anda telah terkonfigurasi dengan baik untuk menghindari masalah.
Perangkat Lunak yang Diperlukan
Berikut adalah perangkat lunak yang Anda butuhkan untuk bekerja dengan file-file AAR di plugin-plugin Capacitor:
| Perangkat Lunak | Versi Minimum | Tujuan |
|---|---|---|
| Studio Android | 2022.1.1 atau lebih tinggi | IDE utama untuk pengembangan Android |
| Paket Pengembangan Java | 11 atau lebih tinggi | Diperlukan untuk pengembangan Android |
| Node.js | 14.0 atau lebih tinggi | Untuk mengelola Capacitor dan npm paket |
| Gradle | 7.3 atau lebih tinggi | Alat bangun Android |
| Git | 2.30 atau lebih tinggi | For pengendalian versi dan pengelolaan paket |
Additionally, make sure the following components are included in your SDK Manager:
- Android Platform SDK 33 (Android 13.0)
- Android Build-Tools SDK 33.0.0
- Android Tools Perintah Baris SDK
- Emulator Android
- Tools Platform Android SDK
Langkah-Langkah Pengaturan Proyek
1. Mulai dengan mengatur lingkungan pengembangan Anda
Mulai dengan membuat direktori baru dengan struktur seperti ini:
my-plugin/
├── android/
│ ├── src/
│ └── build.gradle
├── src/
│ └── definitions.ts
└── package.json
2. Pengaturan Pengaturan Android Studio
Luncurkan Android Studio dan atur pengaturan-pengaturan berikut:
- Setel Gradle JDK ke versi 11 atau lebih tinggi.
- Aktifkan fitur download otomatis untuk komponen Android SDK.
- Update variabel lingkungan sistem Anda dengan jalur Android SDK yang benar.
3. Siapkan Struktur Plugin Anda
Update file dengan pengaturan ini untuk mendukung file AAR: android/build.gradle Set Up Pengendalian Versi
android {
compileSdkVersion 33
defaultConfig {
minSdkVersion 22
targetSdkVersion 33
}
repositories {
flatDir {
dirs 'libs'
}
}
}
4. Mulai Git di direktori proyek Anda dan buat file untuk mengabaikan file yang tidak perlu. Berikut adalah contoh:
Setelah langkah-langkah ini selesai, Anda akan siap untuk melanjutkan ke menambahkan file AAR. .gitignore Menambahkan File AAR ke Plugin Anda .gitignore:
android/build/
node_modules/
dist/
*.iml
.idea/
.gradle/
local.properties
Mendapatkan File AAR
Mendapatkan File AAR
Menambahkan File AAR ke Plugin Anda
AAR file dapat berasal dari SDK pihak ketiga, library kustom, atau dependensi Maven. Baiknya untuk mendokumentasikan sumber, versi, dan tujuan mereka dalam sebuah README file yang terletak di libs directory.
| Jenis Sumber | Deskripsi | Praktik Terbaik |
|---|---|---|
| SDK Pihak Ketiga | Libraries Android yang telah dikompilasi dari vendor | Dokumentasikan detail versi vendor dalam README |
| Libraries Android Kustom | Modul Android yang dikembangkan sendiri | Dokumentasikan proses pembangunan |
| Menggunakan Dependensi Maven | Dikonversi dari repositori remote | Simpan cache secara lokal untuk membangun offline |
Setelah Anda memiliki file AAR yang siap dan terdokumentasi, Anda dapat mengonfigurasi plugin Anda untuk menambahkannya.
Mengatur File Plugin
Organisir file plugin Anda untuk memastikan integrasi AAR yang lancar. Berikut adalah contoh struktur plugin Anda mungkin terlihat:
my-plugin/
├── android/
│ ├── libs/ # AAR files with README
│ ├── src/
│ └── build.gradle
├── src/
│ └── definitions.ts
└── package.json
{
"files": [
"android/libs/*.aar",
"android/src/**/*",
"src/**/*"
]
}
Pengaturan File AAR
Untuk mengaktifkan fungsi AAR, tempatkan file di android/libs directory plugin Anda dengan mengikuti langkah-langkah berikut:
- Pilih format penamaan yang jelas dan konsisten, seperti
libraryname-version.aar. - Kelola versi di
versions.propertiesfile. Misalnya:
library1=1.2.3
library2=2.0.0
- Tambahkan sebuah
dependencies.gradlefile untuk dependensi lainnya:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.aar'])
implementation 'com.example:dependency:1.0.0'
}
- Organisir file vendor khusus ke subdirektori untuk manajemen yang lebih baik:
android/libs/
├── vendor1/
│ ├── feature.aar
│ └── config.json
└── vendor2/
├── module.aar
└── settings.xml
Menggunakan subdirektori untuk menyimpan file konfigurasi vendor membantu menjaga organisasi dan menghindari konflik saat build dengan dependensi AAR yang berbeda.
Gradle Langkah-Langkah Konfigurasi

Mengupdate build.gradle
Untuk mengintegrasikan file AAR ke dalam Capacitor plugin Anda, Anda perlu mengonfigurasi Gradle dengan benar. Mulai dengan menambahkan pengaturan repository berikut ke android/build.gradle:
repositories {
google()
mavenCentral()
flatDir {
dirs 'libs'
}
}
Kemudian, masukkan dependensi AAR ke dalam dependencies blok:
dependencies {
implementation files('libs/your-library.aar')
implementation fileTree(dir: 'libs', include: ['**/*.aar'])
implementation "com.getcapacitor:core:${capacitorVersion}"
implementation "androidx.appcompat:appcompat:1.6.1"
}
Untuk manajemen versi yang lebih baik, buat sebuah gradle.properties file di root proyek Anda dan definisikan versi library Anda:
# Library versions
MY_LIBRARY_VERSION=1.2.3
CAPACITOR_VERSION=5.5.0
Jika file AAR datang dengan dependensi tambahan, deklarasikan mereka di android/build.gradle seperti ini:
android {
defaultConfig {
minSdkVersion 21
targetSdkVersion 33
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
}
}
Setelah Anda membuat perubahan-perubahan ini, sinkronkan proyek Anda untuk menerapkan perubahan-perubahan tersebut.
Running Gradle Sync
Buka proyek Anda di Android Studio dan tunggu sampai Gradle sinkronisasi secara otomatis. Jika tidak, klik tombol "Sinkronkan Proyek dengan File Gradle" di toolbar.
Setelah sinkronisasi, verifikasi hal-hal berikut:
| Poin Cek | Hasil yang Diharapkan | Issues Umum |
|---|---|---|
| Output Pembangunan | Tidak ada kesalahan terkait AAR | Ketergantungan yang Hilang |
| Penyelesaian Library | File AAR yang Terhubung dengan Benar | Referensi Jalur yang Salah |
| Konflik Versi | Tidak Ada Masalah Versi Ketergantungan | Versi yang Tidak Kompatibel |
Jika sinkronisasi gagal, periksa kembali konfigurasi Anda. Misalnya, pastikan pengaturan-pengaturan berikut sudah ada:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
abortOnError false
}
}
Untuk file AAR yang besar, Anda mungkin perlu meningkatkan alokasi memori Gradle di gradle.properties:
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m
Setelah sinkronisasi selesai dengan sukses, file-file AAR Anda harus sudah terintegrasi sepenuhnya dan siap untuk diuji.
Menghubungkan Fitur AAR ke Capacitor
Membuat Kelas Plugin
Setelah file Gradle Anda disinkronkan, saatnya menghubungkan fungsi AAR dengan mengembangkan kelas Plugin Menghubungkan JavaScript ke Android code melalui langkah ini.
@NativePlugin(
permissions = {
Manifest.permission.REQUIRED_PERMISSION
}
)
public class YourPlugin extends Plugin {
private YourAARLibrary libraryInstance;
@Override
public void load() {
super.load();
libraryInstance = new YourAARLibrary(getContext());
}
}
Berikut yang Anda butuhkan untuk menginisialisasi library AAR:
| Komponen | Tujuan | context |
|---|---|---|
| Halaman/area: Situs web pemasaran Capgo. Peran: Label UI singkat atau item navigasi. Kunci pesan `subprocessors_table_purpose` (Tujuan Tabel Subproses). | Catatan Implementasi | Konteks getContext() Konteks aplikasi Android |
| Pakai dari kelas Plugin | Pengaturan Library | Kirimkan Opsi dari Plugin |
| Lifecycle | Pengelolaan Status Plugin | Override load() dan handleOnDestroy() |
Membuat Metode Plugin
Selanjutnya, definisikan metode dalam plugin menggunakan @PluginMethod annotasi. Metode-metode ini mengelola pertukaran data antara JavaScript dan Java.
@PluginMethod
public void performAction(PluginCall call) {
try {
// Get data from JavaScript
String inputData = call.getString("inputKey");
// Call AAR library method
YourLibraryResult result = libraryInstance.processData(inputData);
// Return result to JavaScript
JSObject ret = new JSObject();
ret.put("value", result.getValue());
call.resolve(ret);
} catch (Exception e) {
call.reject("Error processing data", e);
}
}
Untuk tugas yang perlu dijalankan secara asinkron:
@PluginMethod(returnType = PluginMethod.RETURN_CALLBACK)
public void startContinuousOperation(PluginCall call) {
call.setKeepAlive(true);
libraryInstance.setCallback(new LibraryCallback() {
@Override
public void onUpdate(String data) {
JSObject ret = new JSObject();
ret.put("data", data);
call.resolve(ret);
}
});
}
Berikut cara tipe-tipe umum dikonversi antara JavaScript dan Java:
| Tipe JavaScript | Jenis Java | Methode Konversi |
|---|---|---|
| Objek | JSObject | call.getObject() |
| Array | JSArray | call.getArray() |
| String | String | call.getString() |
| Nomor | Bilangan Bulat/Duble | call.getInt()/call.getDouble() |
| Benar | Benar | call.getBoolean() |
Untuk membersihkan sumber daya, override metode: handleOnDestroy Metode:
@Override
protected void handleOnDestroy() {
if (libraryInstance != null) {
libraryInstance.cleanup();
libraryInstance = null;
}
super.handleOnDestroy();
}
Dengan metode-metode ini, jembatan native Anda sudah siap. Test implementasi Anda di lingkungan debug Android Studio untuk memastikan semuanya berjalan seperti yang diharapkan.
Pengujian dan Mengatasi Masalah
Pengujian di Studio Android

Untuk menguji integrasi AAR Anda di Studio Android, mulailah dengan mengaktifkan mode debug di proyek Anda: build.gradle file:
android {
buildTypes {
debug {
debuggable true
minifyEnabled false
}
}
}
Tambahkan titik henti di metode-metode plugin Anda untuk mengikuti aliran data dan mengidentifikasi potensi masalah:
@PluginMethod
public void yourMethod(PluginCall call) {
// Set a breakpoint here to inspect input data
String inputValue = call.getString("key");
// Another breakpoint here to check method calls to the AAR
libraryInstance.someMethod(inputValue);
}
Penggunaan Panel Debug di Studio Android untuk memantau area kunci:
| Area Pengujian | Apa yang Perlu Diperiksa | Masalah Umum |
|---|---|---|
| Logcat | Pesan Inisialisasi AAR | Kurangnya Izin atau Konteks yang Salah |
| Variabel | Konversi Tipe Data | Nilai Null atau Kesalahan Tipe |
| Tumpukan Pencarian | Alur Eksekusi Metode | Panggilan Metode yang Tidak Valid atau Masalah Threading |
| Memori | Penggunaan Sumber Daya | Leak Memori |
Jika debugging tidak dapat menyelesaikan masalah, ikuti langkah-langkah troubleshooting di bagian berikutnya.
Langkah-Langkah Troubleshooting
Ketika debugging sendiri tidak cukup, gunakan langkah-langkah ini untuk menangani masalah umum:
1. Konflik Dependensi
Periksa konflik versi pada file Anda. Anda dapat memaksakan versi tertentu untuk menyelesaikan konflik: build.gradle 2. Libarai Nativ Tidak Tersedia
configurations.all {
resolutionStrategy {
force 'com.google.android:android:4.1.1.4'
// Add other forced versions as needed
}
}
Pastikan AAR mencakup file yang diperlukan di direktori yang tepat, seperti:
3. Masalah Penggabungan Manifest .so 1. Konflik Versi
jniLibs/armeabi-v7a/jniLibs/arm64-v8a/jniLibs/x86/jniLibs/x86_64/
3. Masalah Penggabungan Manifest
Jika Anda mengalami konflik manifest, termasuklah hal-hal berikut dalam file Anda untuk mengatasi library yang bermasalah: AndroidManifest.xml 4. Kecelakaan Runtime dan Pengelolaan Memori
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="your.plugin.package">
<uses-sdk tools:overrideLibrary="conflicting.library.package"/>
</manifest>
Pakai tab Performance di Android Studio untuk memantau stabilitas runtime. Untuk masalah inisialisasi, tangani exception dengan hati-hati:
Untuk mencegah kebocoran memori, pastikan sumber daya dilepaskan dengan benar. Gunakan Profiler Memori di Android Studio untuk mengikuti penggunaan heap dan mengidentifikasi kebocoran apa pun.
try {
libraryInstance = new YourAARLibrary(getContext());
} catch (Exception e) {
Log.e("PluginError", "Failed to initialize library: " + e.getMessage());
return;
}
Ringkasan
Untuk mengintegrasikan file-file AAR ke dalam __CAPGO_KEEP_0__ plugin, Anda perlu mengatur lingkungan Android, menempatkan file AAR dengan benar, mengkonfigurasi Gradle dengan tepat, dan melakukan tes secara menyeluruh.
To integrate AAR files into Capacitor plugins, you’ll need to set up the Android environment, place AAR files correctly, configure Gradle accurately, and test thoroughly.
Fase
| Persyaratan | Indikator Kesuksesan | Pengaturan Pengembangan |
|---|---|---|
| Pengaturan | Studio Android 4.0+, Gradle 7.0+ | Pembangunan selesai tanpa ada kesalahan |
| Pengintegrasian AAR | Pengaturan file yang tepat, dependensi yang benar | Tidak ada konflik manifest |
| Pengembangan Plugin | Struktur plugin yang jelas, pemetaan metode yang akurat | Metode dieksekusi seperti yang diharapkan |
| Pengujian | Saat Anda aktifkan mode debug, penanganan kesalahan yang efektif | Tidak ada crash waktu runtime |
Setelah Anda menguasai dasar-dasar ini, Anda dapat mengeksplorasi teknik-teknik yang lebih maju.
Langkah Selanjutnya
Untuk meningkatkan plugin Anda, fokuslah pada area berikut:
-
Optimasi Kinerja
Gunakan profilator Studio Android untuk memantau penggunaan memori dan pastikan sumber daya dibersihkan dengan benar. -
Persiapan Distribusi
Dokumentasikan semua konfigurasi AAR, buat API dokumentasi, dan tes kompatibilitas dengan level Android API 29–34. -
Strategi Pemeliharaan
Automatisasikan tes, kelola versi AAR dengan kontrol versi, simpan log perubahan, dan atur laporan kesalahan untuk menangani masalah produksi.
Jika Anda berencana untuk membagikan plugin Anda secara publik, pastikan untuk menyediakan dokumentasi rinci tentang pengaturan AAR khusus dan batasan platform. Hal ini akan membuatnya lebih mudah bagi pengembang lain untuk menerima dan menggunakan plugin Anda secara efektif.
Teruskan dari Cara Menggunakan File AAR di Capacitor Plugin
Jika Anda menggunakan Cara Menggunakan File AAR di Capacitor Plugin Dalam merencanakan kerja plugin native, hubungkannya dengan Capgo Direktori Plugin untuk alur kerja produk di Capgo Direktori Plugin, Capacitor Plugin oleh Capgo untuk detail implementasi di Capacitor Plugin oleh Capgo Mengambah atau Mengupdate Plugin untuk detail implementasi di Mengambah atau Mengupdate Plugin, Alternatif Plugin Enterprise Ionic untuk alur kerja produk di Alternatif Plugin Enterprise Ionic, dan Capgo Pembangunan Native untuk alur kerja produk di Capgo Pembangunan Native.