Lebih lanjut ke konten utama

Cara Menggunakan File AAR di Plugin Capacitor

Pelajari cara mengintegrasikan file AAR ke dalam plugin Capacitor untuk meningkatkan aplikasi web Anda dengan fitur Android asli melalui panduan langkah demi langkah yang jelas.

Cara Menggunakan File AAR di Plugin Capacitor

Inginkah Anda mengintegrasikan fitur Android ke dalam aplikasi Anda? Capacitor Bagaimana cara menggunakan file AAR (Arsip Android) di plugin __CAPGO_KEEP_0__ untuk menggabungkan fungsi Android native dengan aplikasi web multi-platform. Capacitor plugins Apa itu file AAR?

Perpustakaan Android yang sudah di-packaging, mengandung __CAPGO_KEEP_0__, sumber daya, dan file native.

  • Mengapa menggunakan mereka? File AAR memungkinkan code digunakan kembali, memudahkan perawatan, dan melindungi fitur properti.
  • Apa yang dibutuhkan? code
  • __CAPGO_KEEP_0__ Alat seperti Android Studio, Gradle, dan Node.js, plus pengaturan proyek yang tepat.
  • Bagaimana cara mengintegrasikannya? Tempatkan file AAR di libskonfigurasi Gradle, dan hubungkan ke plugin Capacitor.

Langkah-Langkah Cepat:

  1. Pengaturan Lingkungan: Instal alat yang diperlukan dan konfigurasi Android Studio.
  2. Strukturkan proyek Anda: Buat struktur yang jelas untuk plugin Anda Capacitor plugin.
  3. Tambahkan file AAR: Tempatkan mereka di android/libs dan perbarui dependensi Gradle.
  4. Tulis plugin code: Hubungkan fungsi AAR ke JavaScript dengan menggunakan __CAPGO_KEEP_0__’s __CAPGO_KEEP_1__ Capacitor’s API.
  5. Gunakan debugger Android Studio untuk memastikan integrasi yang lancar. Dengan mengikuti panduan ini, Anda dapat dengan mudah mengintegrasikan file AAR ke dalam plugin __CAPGO_KEEP_0__ Anda, sehingga memungkinkan Anda untuk mengakses kemampuan Android native untuk aplikasi web Anda.

By following this guide, you can seamlessly incorporate AAR files into your Capacitor plugins, unlocking native Android capabilities for your web apps.

How to mengintegrasikan sebuah library Android (file AAR) ke dalam sebuah capacitor plugin

capacitor

Persyaratan Pengaturan Pengembangan

Sebelum bekerja dengan file-file AAR, pastikan lingkungan pengembangan Anda telah terkonfigurasi dengan baik untuk menghindari kesalahan.

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
Kit 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 Untuk pengendalian versi dan pengelolaan paket

Additionally, make sure the following components are included in your SDK Manager:

  • Sistem Android SDK Platform 33 (Android 13.0)
  • Sistem Android SDK Build-Tools 33.0.0
  • Sistem Android SDK Command-line Tools
  • Emulator Android
  • Sistem Android SDK Platform-Tools

Langkah-Langkah Pengaturan Proyek

1. Mulai dengan membuat direktori baru dengan struktur seperti ini:

Mulai dengan Membuat Lingkungan Pengembangan

my-plugin/
├── android/
│   ├── src/
│   └── build.gradle
├── src/
│   └── definitions.ts
└── package.json

2. Konfigurasi Pengaturan Studio Android

Luncurkan Studio Android dan sesuaikan pengaturan berikut:

  • Setel JDK Gradle ke versi 11 atau lebih tinggi.
  • Aktifkan fitur pengunduhan otomatis untuk komponen Android SDK.
  • Perbarui variabel lingkungan sistem Anda dengan jalur Android SDK yang benar.

3. Siapkan Struktur Plugin Anda

Perbarui android/build.gradle file dengan pengaturan ini untuk mendukung file AAR:

android {
    compileSdkVersion 33
    defaultConfig {
        minSdkVersion 22
        targetSdkVersion 33
    }

    repositories {
        flatDir {
            dirs 'libs'
        }
    }
}

4. Konfigurasi Kontrol Versi

Mulai Git di direktori proyek Anda dan buat sebuah .gitignore file untuk mengabaikan file yang tidak perlu. Berikut adalah contoh .gitignore:

android/build/
node_modules/
dist/
*.iml
.idea/
.gradle/
local.properties

Setelah langkah-langkah ini selesai, Anda akan siap untuk melanjutkan ke langkah menambahkan file AAR.

Menambahkan File AAR ke Plugin Anda

Mendapatkan File AAR

File AAR dapat berasal dari SDK pihak ketiga, library kustom, atau dependensi Maven. Sebaiknya, dokumentasikan sumber, versi, dan tujuan mereka dalam sebuah README file yang terletak di libs directory.

Jenis Sumber Deskripsi Praktik Terbaik
SDK Pihak Ketiga Library Android yang sudah dikompilasi dari vendor Dokumentasikan detail versi vendor dalam README
Library Android Kustom Modul Android yang dikembangkan sendiri Dokumentasikan proses pembangunan
Dependensi Maven Dikonversi dari repositori remote Simpan secara lokal untuk membangun secara offline

Setelah Anda memiliki file AAR yang siap dan didokumentasikan, Anda dapat mengonfigurasi plugin Anda untuk mencantumkannya.

Pengaturan 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-file tersebut di android/libs directory plugin Anda mengikuti langkah-langkah berikut:

  • Pakai format penamaan yang jelas dan konsisten, seperti libraryname-version.aar.
  • Manajemen versi dalam sebuah versions.properties Contoh:
library1=1.2.3
library2=2.0.0
  • Tambahkan sebuah dependencies.gradle file untuk dependensi lainnya:
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.aar'])
    implementation 'com.example:dependency:1.0.0'
}
  • Organisasi file vendor khusus ke subdirektori untuk manajemen yang lebih baik:
android/libs/
├── vendor1/
│   ├── feature.aar
│   └── config.json
└── vendor2/
    ├── module.aar
    └── settings.xml

Menggunakan subdirektori khusus untuk file konfigurasi vendor membantu menjaga organisasi dan menghindari konflik pembangunan ketika bekerja dengan dependensi AAR yang lebih dari satu.

Gradle Langkah-Langkah Konfigurasi

Interface Gradle Build Tool

Update build.gradle

Untuk mengintegrasikan file AAR ke dalam plugin Capacitor Anda, Anda perlu mengkonfigurasi Gradle dengan tepat. Mulai dengan menambahkan pengaturan repository ini ke android/build.gradle:

repositories {
    google()
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}

Kemudian, masukkan dependensi AAR ke dependencies block:

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 pengelolaan versi yang lebih baik, buatlah 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 tersebut datang dengan dependensi tambahan, deklarasikan mereka seperti ini: android/build.gradle Saat Anda telah melakukan perubahan-perubahan ini, sinkronkan proyek Anda untuk menerapkan perubahan tersebut.

android {
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 33
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
    }
}

Jalankan 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.

Sesudah sinkronisasi, verifikasi hal-hal berikut:

Poin Utama

Hasil yang Diharapkan Issues Umum Check Point
Hasil Output Tidak ada kesalahan terkait AAR Ketergantungan yang hilang
Pengaturan Library File AAR yang terkait dengan benar Pengacuan 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 seharusnya sudah terintegrasi sepenuhnya dan siap untuk diuji.

Menyambungkan Fitur AAR ke Capacitor

Membuat Kelas Plugin

Setelah file Gradle Anda disinkronkan, saatnya menghubungkan fungsi AAR dengan mengembangkan kelas Plugin kelas. Langkah ini menghubungkan JavaScript dengan Android code native.

@NativePlugin(
    permissions = {
        Manifest.permission.REQUIRED_PERMISSION
    }
)
public class YourPlugin extends Plugin {
    private YourAARLibrary libraryInstance;

    @Override
    public void load() {
        super.load();
        libraryInstance = new YourAARLibrary(getContext());
    }
}

Ini 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 Android aplikasi Anda untuk digunakan getContext() Menggunakan File AAR di Plugin Capacitor
Konfigurasi Pengaturan Library Melewati Opsi dari Plugin
Lifecycle Pengelolaan Status Plugin Mengganti load() dan handleOnDestroy()

Membuat Metode Plugin

Selanjutnya, definisikan metode di 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 asynchronous:

@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 mengubah jenis umum antara JavaScript dan Java:

Jenis JavaScript Jenis Java Metode Konversi
Objek JSObject call.getObject()
Array JSArray call.getArray()
String String call.getString()
Nomor Integer/Duble call.getInt()/call.getDouble()
Boolean Boolean 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 asli Anda sudah siap. Tes implementasi Anda di lingkungan debug Android Studio untuk memastikan semuanya berjalan seperti yang diharapkan.

Testing dan Mengatasi Masalah

Menggunakan Mode Debug di Studio Android

Studio Android

Untuk mengdebug integrasi AAR Anda di Studio Android, mulai dengan mengaktifkan mode debug di file proyek Anda: build.gradle Tambahkan titik henti di metode-metode plugin Anda untuk mengikuti aliran data dan mengidentifikasi potensi masalah:

android {
    buildTypes {
        debug {
            debuggable true
            minifyEnabled false
        }
    }
}

Boolean

@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);
}

Gunakan panel Debug di Android Studio untuk memantau area utama:

Area Debugging Apa yang Perlu Diperiksa Issues Umum
Logcat Pesan inisialisasi AAR Kurangnya izin atau konteks yang salah
Variabel Pengubahan tipe data Nilai null atau kesalahan tipe
Trace Pile Alur eksekusi metode Panggilan metode yang tidak valid atau masalah threading
Memori context: Halaman/area: Pembuat Capgo / halaman produk produk cloud native. Peran: Label UI. Kunci pesan `native_build_builder_infra_spec_memory_label` (Label Spek Infrastruktur Pembangun Native Build) Penggunaan Sumber Daya

Kerusakan Memori

Jika debugging tidak dapat menyelesaikan masalah, ikuti langkah-langkah troubleshooting di bagian berikutnya.

Langkah-Langkah Troubleshooting

Jika debugging sendiri tidak cukup, gunakan langkah-langkah ini untuk menangani masalah umum:

1. Konflik Ketergantungan build.gradle Tinjau konflik versi di file Anda. Anda dapat memaksa versi tertentu untuk menyelesaikan konflik:

configurations.all {
    resolutionStrategy {
        force 'com.google.android:android:4.1.1.4'
        // Add other forced versions as needed
    }
}

2. Libarasi Native yang Hilang

Pastikan AAR mencakup libarasi yang diperlukan .so file-file di direktori yang tepat, seperti:

  • 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 kecemasan dengan hati-hati:

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-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 Kunci Fase Implementasi Indikator Keberhasilan
Konfigurasi Pengembangan Pengaturan Android Studio 4.0+, Gradle 7.0+ Proses Build Selesai Tanpa Kesalahan
Pengintegrasian AAR Pengaturan File yang Tepat, Ketergantungan yang Benar Tidak Ada Konflik Manifest
Pengembangan Plugin Struktur Plugin yang Jelas, Peta Metode yang Akurat Metode Berjalan dengan Harusnya
Pengujian Saat Debug Aktif, Pengelolaan Kesalahan yang Efektif No runtime crashes

Setelah Anda menguasai dasar-dasar ini, Anda dapat menjelajahi teknik-teknik yang lebih maju.

Langkah Selanjutnya

Untuk meningkatkan plugin Anda, fokuslah pada area-area berikut:

  • Optimasi Kinerja
    Gunakan Profiler Android Studio untuk memantau penggunaan memori dan pastikan sumber daya dibersihkan dengan benar.

  • Persiapan Distribusi
    Dokumentasikan semua konfigurasi AAR, buatlah API dokumentasi, dan uji konsistensi dengan Android API level 29–34.

  • Strategi Pemeliharaan
    Automatisasikan pengujian, kelola versi AAR dengan pengendalian versi, buatlah catatan perubahan, dan atur laporan kesalahan untuk menangani masalah produksi.

Jika Anda berencana untuk membagikan plugin Anda secara publik, pastikan untuk menyediakan dokumentasi yang rinci tentang pengaturan AAR khusus dan batasan platform. Ini akan membuatnya lebih mudah bagi pengembang lain untuk menerima dan menggunakan plugin Anda secara efektif.

Teruslah dari Cara Menggunakan File AAR di Capacitor Plugin

Jika Anda menggunakan Berikut Cara Menggunakan File AAR di Plugin Capacitor untuk merencanakan pekerjaan 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 Menambahkan atau Mengupdate Plugin untuk detail implementasi di Menambahkan 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 Nativ.

Pembaruan Langsung untuk Aplikasi Capacitor

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

Dukungan Manusia dari Martin

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk menciptakan aplikasi mobile profesional yang sebenarnya.