Vous souhaitez intégrer des fonctionnalités Android dans vos Capacitor app? Cette guide explique comment utiliser les fichiers AAR (archive Android) dans les Capacitor plugins
pour combiner la fonctionnalité native Android avec des applications web cross-plateformes.
- Rappels clés : Pre-packaged Android libraries containing code, resources, and native files.
- Les fichiers AAR sont des bibliothèques Android pré-packagées contenant __CAPGO_KEEP_0__, des ressources et des fichiers natifs. AAR files enable code reuse, simplify maintenance, and protect proprietary features.
- Les fichiers AAR permettent le réemploi de __CAPGO_KEEP_0__, simplifient la maintenance et protègent les fonctionnalités propriétaires. Qu'est-ce qui est requis ? Des outils comme l'Android Studio, Gradle, et Node.js, ainsi qu'une configuration de projet appropriée.
- Comment intégrer ? Placez les fichiers AAR dans
libs, configurez Gradle, et connectez-les aux plugins Capacitor.
Étapes rapides :
- Configurez votre environnement : Installez les outils requis et configurez Android Studio.
- Organisez votre projet : Créez une structure claire pour votre plugin Capacitor.
- Ajoutez des fichiers AAR : Placez-les dans
android/libset mettez à jour les dépendances Gradle. - Écrivez le plugin code : Liez la fonctionnalité AAR à JavaScript avec Capacitor’s API.
- Testez soigneusement : Utilisez le débogueur d'Android Studio pour vous assurer d'une intégration fluide.
En suivant ce guide, vous pouvez incorporer de manière fluide des fichiers AAR dans vos plugins Capacitor, débloquant ainsi les capacités Android natives pour vos applications web.
Comment intégrer une bibliothèque Android (fichier AAR) dans un capacitor plugin

Exigences de configuration de l'environnement de développement
Avant de travailler avec les fichiers AAR, assurez-vous que votre environnement de développement est correctement configuré pour éviter tout problème.
Logiciels requis
Voici les logiciels dont vous aurez besoin pour travailler avec les fichiers AAR dans les plugins Capacitor :
| Logiciel | Version minimale | Objectif |
|---|---|---|
| context : Page/zone : Site web de marketing Capgo. Rôle : Étiquette de navigation ou élément UI court. Clé de message `subprocessors_table_purpose` (Objectif de la table des sous-traitants). | Studio Android | L'IDE principal pour le développement Android |
| Kit de développement Java | 11 ou supérieur | Requis pour le développement Android |
| Node.js | 14.0 ou supérieur | Pour gérer les packages Capacitor et npm |
| Gradle | 7.3 ou supérieur | Outil de construction Android |
| Git | 2.30 ou supérieur | For le contrôle de version et la gestion de packages |
De plus, assurez-vous que les composants suivants sont inclus dans votre SDK Manager :
- Plateforme Android SDK 33 (Android 13.0)
- Outils de construction Android SDK 33.0.0
- Outils de ligne de commande Android SDK
- Émulateur Android
- Outils de plateforme Android SDK
Étapes de configuration du projet
1. Initialiser votre environnement de développement
Démarrer en créant un nouveau répertoire avec cette structure :
my-plugin/
├── android/
│ ├── src/
│ └── build.gradle
├── src/
│ └── definitions.ts
└── package.json
2. Configurer les paramètres d'Android Studio
Lancez Android Studio et ajustez les paramètres suivants :
- Configurez le JDK Gradle en version 11 ou supérieure.
- Activez la fonctionnalité de téléchargement automatique pour les composants Android SDK.
- Mettez à jour les variables d'environnement système avec le chemin correct Android SDK.
3. Préparez la structure de votre plugin.
Mettez à jour le android/build.gradle fichier avec ces paramètres pour inclure le support des fichiers AAR :
android {
compileSdkVersion 33
defaultConfig {
minSdkVersion 22
targetSdkVersion 33
}
repositories {
flatDir {
dirs 'libs'
}
}
}
4. Configurer le Contrôle de Version
Initialisez Git dans votre répertoire de projet et créez un .gitignore fichier pour exclure les fichiers inutiles. Voici un exemple .gitignore:
android/build/
node_modules/
dist/
*.iml
.idea/
.gradle/
local.properties
Une fois ces étapes terminées, vous serez prêt à passer à l'étape suivante, qui consiste à ajouter vos fichiers AAR.
Ajouter des fichiers AAR à votre plugin.
Obtenir des fichiers AAR
AAR les fichiers peuvent provenir de SDK tiers, de bibliothèques personnalisées ou de dépendances Maven. Il est une bonne idée de documenter leur source, leur version et leur but dans un README un libs répertoire.
| Type de source | Description | Meilleure pratique |
|---|---|---|
| SDK tiers | Librairies Android précompilées de fournisseurs | Documenter les détails de version du fournisseur dans un README |
| Bibliothèques Android personnalisées | Modules Android auto-développés | Documenter le processus de construction |
| Dépendances Maven | Converti à partir de dépôts distants | Cachez-les localement pour des builds hors ligne |
Une fois vos fichiers AAR prêts et documentés, vous pouvez configurer votre plugin pour les inclure.
Configuration des fichiers de plugin
Organisez vos fichiers de plugin pour garantir une intégration fluide des dépendances AAR. Voici un exemple de la structure de votre plugin qui pourrait ressembler à ceci :
my-plugin/
├── android/
│ ├── libs/ # AAR files with README
│ ├── src/
│ └── build.gradle
├── src/
│ └── definitions.ts
└── package.json
{
"files": [
"android/libs/*.aar",
"android/src/**/*",
"src/**/*"
]
}
Emplacement des fichiers AAR
Pour activer la fonctionnalité AAR, placez les fichiers dans le android/libs répertoire de votre plugin en suivant ces étapes :
- Utilisez un format de nommage clair et cohérent, comme
libraryname-version.aar. - Gérez les versions dans un
versions.propertiesfichier. Par exemple :
library1=1.2.3
library2=2.0.0
- Ajoutez un fichier pour les autres dépendances :
dependencies.gradleOrganisez les fichiers spécifiques au fournisseur dans des sous-dossiers pour une meilleure gestion :
dependencies {
implementation fileTree(dir: 'libs', include: ['*.aar'])
implementation 'com.example:dependency:1.0.0'
}
- Le maintien des fichiers de configuration dans les sous-dossiers spécifiques au fournisseur aide à maintenir l'organisation et évite les conflits de construction lors du travail avec plusieurs dépendances AAR.
android/libs/
├── vendor1/
│ ├── feature.aar
│ └── config.json
└── vendor2/
├── module.aar
└── settings.xml
Gradle
Étapes de configuration Interface de l'outil de construction Gradle

Pour intégrer les fichiers AAR dans votre plugin __CAPGO_KEEP_0__, vous devez configurer Gradle de manière appropriée. Commencez par ajouter ces paramètres de référentiel à
To integrate AAR files into your Capacitor plugin, you need to configure Gradle appropriately. Start by adding these repository settings to android/build.gradle:
repositories {
google()
mavenCentral()
flatDir {
dirs 'libs'
}
}
block : dependencies Pour une meilleure gestion de version, créez un
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"
}
block de dépendances AAR : gradle.properties fichier dans votre dossier racine et définissez les versions de votre bibliothèque :
# Library versions
MY_LIBRARY_VERSION=1.2.3
CAPACITOR_VERSION=5.5.0
Si le fichier AAR est accompagné de dépendances supplémentaires, déclarez-les dans android/build.gradle comme ceci :
android {
defaultConfig {
minSdkVersion 21
targetSdkVersion 33
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
}
}
Une fois ces modifications effectuées, synchronisez votre projet pour les appliquer.
Exécution de Gradle Sync
Ouvrez votre projet dans Android Studio et attendez que Gradle se synchronise automatiquement. Si cela ne démarre pas, cliquez sur le bouton « Synchroniser le projet avec les fichiers Gradle » dans la barre d'outils.
Après synchronisation, vérifiez les éléments suivants :
| Point de contrôle | Résultat attendu | Problèmes courants |
|---|---|---|
| Sortie de construction | Aucune erreur liée au fichier AAR | Dépendances manquantes |
| Résolution de la bibliothèque | Fichiers AAR correctement liés | Références de chemin incorrectes |
| Conflits de versions | Aucun problème de version de dépendance | Versions incompatibles |
Si la synchronisation échoue, vérifiez à nouveau votre configuration. Par exemple, assurez-vous que ces paramètres sont en place :
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
abortOnError false
}
}
Pour les grands fichiers AAR, vous devrez peut-être augmenter la mémoire allouée à Gradle dans gradle.properties:
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m
Une fois la synchronisation terminée avec succès, vos fichiers AAR devraient être intégrés pleinement et prêts à l'essai.
Brancher les fonctionnalités AAR à Capacitor
Écrire la classe du plugin
Une fois que vos fichiers Gradle sont synchronisés, il est temps de connecter votre fonctionnalité AAR en étendant la classe Plugin Cette étape relie JavaScript à l'application Android native code.
@NativePlugin(
permissions = {
Manifest.permission.REQUIRED_PERMISSION
}
)
public class YourPlugin extends Plugin {
private YourAARLibrary libraryInstance;
@Override
public void load() {
super.load();
libraryInstance = new YourAARLibrary(getContext());
}
}
Voici ce dont vous avez besoin pour initialiser la bibliothèque AAR :
| Componente | Objectif | Note d'implémentation |
|---|---|---|
| Contexte | Contexte de l'application Android | Utilisez getContext() de la classe Plugin |
| Configuration | Paramètres de bibliothèque | Transmettre des options depuis le plugin |
| Cycle de vie | Gestion de l'état du plugin | Surcharger load() et handleOnDestroy() |
Créer des méthodes de plugin
Ensuite, définissez des méthodes dans votre plugin en utilisant l'annotation. Ces méthodes gèrent l'échange de données entre JavaScript et Java. @PluginMethod Pour les tâches qui nécessitent d'être exécutées de manière asynchrone :
@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);
}
}
Ici, voici comment les types courants sont convertis entre JavaScript et Java :
@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);
}
});
}
Type de JavaScript
| Paramètres de bibliothèque | Type Java | Méthode de conversion |
|---|---|---|
| Objet | JSObject | call.getObject() |
| Tableau | JSArray | call.getArray() |
| Chaîne | Chaîne | call.getString() |
| Nombre | Entier/Double | call.getInt()/call.getDouble() |
| Booléen | Booléen | call.getBoolean() |
Pour la suppression des ressources, surchargez la méthode : handleOnDestroy méthode :
@Override
protected void handleOnDestroy() {
if (libraryInstance != null) {
libraryInstance.cleanup();
libraryInstance = null;
}
super.handleOnDestroy();
}
Avec ces méthodes en place, votre pont natif est prêt. Testez votre mise en œuvre dans l'environnement de débogage d'Android Studio pour vous assurer que tout fonctionne comme prévu.
Test et correction des problèmes
Débogage dans Android Studio

Pour déboguer votre intégration AAR dans Android Studio, commencez par activer le mode débogage dans votre projet's build.gradle fichier :
android {
buildTypes {
debug {
debuggable true
minifyEnabled false
}
}
}
Ajoutez des points d'arrêt dans vos méthodes de plugin pour suivre le flux de données et identifier les problèmes potentiels :
@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);
}
Utilisez le panneau de débogage dans Android Studio pour surveiller les zones clés :
| Zone de débogage | Qu'est-ce à vérifier | Problèmes courants |
|---|---|---|
| Logcat | Messages d'initialisation AAR | Permissions manquantes ou contexte incorrect |
| Variables | Conversions de types de données | Valeurs nulles ou incompatibilités de type |
| Trace d'erreur | Flux d'exécution de méthode | Appels de méthode invalides ou problèmes de threading |
| Mémoire | Utilisation des ressources | Fuites de mémoire |
Si la débogage ne résout pas le problème, suivez les étapes de dépannage de la section suivante.
Étapes de dépannage
Lorsque la débogage seul ne suffit pas, utilisez ces étapes pour résoudre les problèmes courants :
1. Conflits de dépendances
Vérifiez les conflits de versions dans votre build.gradle Vous pouvez forcer des versions spécifiques pour résoudre les conflits :
configurations.all {
resolutionStrategy {
force 'com.google.android:android:4.1.1.4'
// Add other forced versions as needed
}
}
2. Bibliothèques natives manquantes
Assurez-vous que l’AAR inclut les fichiers requis dans les répertoires appropriés, tels que : .so 3. Problèmes de fusion de manifeste
jniLibs/armeabi-v7a/jniLibs/arm64-v8a/jniLibs/x86/jniLibs/x86_64/
3. Problèmes de fusion de manifeste
If vous rencontrez des conflits de manifeste, incluez les éléments suivants dans votre AndroidManifest.xml fichier pour contourner les bibliothèques problématiques :
<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>
4. Crashes et gestion de la mémoire en temps de exécution
Utilisez l'onglet Performance dans Android Studio pour surveiller la stabilité en temps de exécution. Pour les problèmes d'initialisation, gérez les exceptions avec soin :
try {
libraryInstance = new YourAARLibrary(getContext());
} catch (Exception e) {
Log.e("PluginError", "Failed to initialize library: " + e.getMessage());
return;
}
Afin d'éviter les fuites de mémoire, assurez-vous que les ressources sont libérées correctement. Utilisez le Profil de la mémoire dans Android Studio pour suivre l'utilisation de la pile et identifier les fuites.
Résumé
Pour intégrer les fichiers AAR dans les Capacitor plugins, vous devrez configurer l'environnement Android, placer les fichiers AAR correctement, configurer Gradle avec précision et tester soigneusement.
Phases d'implémentation clés
| Phase | Exigences | Indicateurs de réussite |
|---|---|---|
| Configuration de développement | Android Studio 4.0+, Gradle 7.0+ | La construction se termine sans erreurs |
| Intégration AAR | Emplacement des fichiers corrects, dépendances appropriées | Aucuns conflits de manifeste |
| Développement de plugins | Structure de plugin claire, cartographie des méthodes précises | Les méthodes s'exécutent comme prévu |
| Tests | Mode de débogage actif, prise en charge des erreurs efficace | Aucuns crashs en temps de exécution |
Une fois que vous avez maîtrisé ces bases, vous pouvez explorer des techniques plus avancées.
Étapes suivantes
Pour améliorer votre plugin, concentrez-vous sur ces domaines :
-
Optimisation de la performance
Utilisez le profilateur d'Android Studio pour surveiller la consommation de mémoire et vous assurer que les ressources sont nettoyées correctement. -
Préparation de la distribution
Documentez toutes les configurations AAR, générerz l’API documentation et testez la compatibilité avec les niveaux d'Android API 29 à 34. -
Stratégie de maintenance
Automatisez les tests, gérez les versions AAR avec le contrôle de version, maintenez un journal des modifications et configurez la notification d'erreur pour résoudre les problèmes en production.
Si vous prévoyez de partager votre plugin publiquement, assurez-vous de fournir une documentation détaillée sur les paramètres AAR spécifiques et les limitations de plateforme. Cela facilitera l'adoption et l'utilisation de votre plugin par d'autres développeurs.
Continuez de la section « Comment utiliser les fichiers AAR dans les plugins Capacitor »
Si vous utilisez Comment utiliser les fichiers AAR dans les plugins Capacitor Afin de planifier le travail de plugin natif, connectez-l’à Capgo Répertoire des plugins pour le flux de travail du produit dans Capgo Répertoire des plugins, Capacitor Plugins par Capgo pour les détails d'implémentation dans Capacitor Plugins par Capgo Ajouter ou Mettre à Jour les Plugins pour les détails d'implémentation dans Ajouter ou Mettre à Jour les Plugins, Alternatives aux Plugins Entreprise Ionic pour le flux de travail du produit dans Alternatives aux Plugins Entreprise Ionic, et Capgo Bâtiments natifs pour le flux de travail du produit dans Capgo Bâtiments natifs.