Aller au contenu principal

📥 Installation Android

Maven et JitPack pas encore disponibles

Le SDK Android n'est pas encore sur Maven Central ou JitPack. Utilisez la configuration AAR local (répertoire plat) ci-dessous, comme dans l'application Android d'exemple. Téléchargez l'AAR depuis la page Téléchargements et sources d'installation.

AAR local (répertoire plat dans app/libs)

Utilisez l'AAR en le plaçant dans app/libs avec une arborescence de type Maven et en pointant settings.gradle.kts vers ce dossier. Cela correspond au projet Android d'exemple.

Étape 1 : Télécharger l'AAR du SDK

  1. Allez sur la page Téléchargements et sources d'installation.
  2. Téléchargez l'AAR du SDK Android (zip ou dossier de type Maven).
  3. Décompressez pour obtenir cette arborescence sous un seul dossier (ex. app/libs) :
    • com/azeoo/sdk/<version>/sdk-<version>.aar
    • com/azeoo/sdk/<version>/sdk-<version>.pom (et éventuellement .module)
    • Optionnellement com/azeoo/sdk/maven-metadata-local.xml

Étape 2 : Placer l'AAR dans app/libs

Placez le contenu décompressé de sorte que app/libs soit la racine du dépôt (le dossier qui contient com/azeoo/sdk/...). Votre structure doit ressembler à :

your-project/
android/
settings.gradle.kts
app/
build.gradle.kts
libs/ ← flat directory root (same as example)
com/
azeoo/
sdk/
1.0.4/
sdk-1.0.4.aar
sdk-1.0.4.pom
maven-metadata-local.xml

Étape 3 : Pointer Gradle vers app/libs dans settings.gradle.kts

Dans votre settings.gradle.kts au niveau projet, ajoutez un dépôt maven dont l'URL est ${rootDir}/app/libs (comme dans l'exemple) :

// settings.gradle.kts
pluginManagement {
repositories {
google {
content {
includeGroupByRegex("com\\.android.*")
includeGroupByRegex("com\\.google.*")
includeGroupByRegex("androidx.*")
}
}
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
mavenLocal()
// Local AAR (flat directory) — Azeoo SDK
maven {
url = uri("${rootDir}/app/libs")
}
// Flutter engine (required by Azeoo SDK)
maven("https://storage.googleapis.com/download.flutter.io")
}
}

rootProject.name = "My Application"
include(":app")

Étape 4 : Déclarer la dépendance

Option A — Catalogue de versions (recommandé, comme l'exemple)

Dans gradle/libs.versions.toml :

[versions]
sdk = "1.0.4" # must match the version folder under app/libs/com/azeoo/sdk/

[libraries]
sdk = { module = "com.azeoo:sdk", version.ref = "sdk" }

Dans app/build.gradle.kts :

dependencies {
implementation(libs.sdk)
// ... other dependencies
}

Option B — Coordonnées directes

Dans app/build.gradle.kts :

dependencies {
implementation("com.azeoo:sdk:1.0.4") // version doit correspondre à app/libs/com/azeoo/sdk/
// ... autres dépendances
}

Étape 4b : Obligatoire — filtres ABI NDK dans le module app

Obligatoire dans l'application hôte

Vous devez ajouter ndk.abiFilters dans votre module application (app/build.gradle.kts). L'AAR du SDK Azeoo ne le fait pas pour vous — Gradle ne fusionne pas les filtres ABI d'une dépendance Maven dans votre app.

Le SDK inclut les bibliothèques natives Flutter et JNI (libflutter.so, .so des plugins) pour un ensemble fixe d'architectures CPU. Votre application doit déclarer les mêmes ABI pour que Gradle empaquette les bons fichiers .so dans l'APK. Sans cela, vous pouvez avoir des échecs de build ou des erreurs à l'exécution comme UnsatisfiedLinkError: dlopen failed.

Ajoutez ceci dans android { defaultConfig { ... } } de app/build.gradle.kts (pas seulement dans le projet d'exemple) :

android {
defaultConfig {
// ... applicationId, minSdk, etc.

ndk {
// Doit correspondre aux architectures supportées par Flutter / SDK Azeoo
abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86_64")
}
}
}
ABIUsage typique
armeabi-v7atéléphones ARM 32 bits
arm64-v8atéléphones ARM 64 bits (majorité des appareils)
x86_64émulateurs et certaines tablettes
Ne pas omettre en production

Même si le build debug fonctionne sans ce bloc, conservez ces filtres en release pour garder les ABI alignées avec le SDK sur appareils et émulateurs.

Pourquoi ce n'est pas dans l'AAR SDK

abiFilters est un réglage Android Gradle Plugin du module application (ou bibliothèque locale). Un AAR com.azeoo:sdk publié ne livre que des libs jni/ précompilées ; il ne peut pas injecter defaultConfig dans votre build.gradle.kts. L'app Android d'exemple contient le même bloc pour cette raison.

Étape 5 : Synchroniser et vérifier

Synchronisez Gradle. Si le projet compile et que vous pouvez utiliser import com.azeoo.sdk.AzeooSDK, la configuration AAR local est correcte.


Prérequis

  • minSdkVersion : 21 (Android 5.0)
  • targetSdkVersion : dernière version
  • Kotlin : 1.9.0 ou ultérieur
  • Gradle : 8.0 ou ultérieur

Règles ProGuard

Si vous utilisez ProGuard, ajoutez dans proguard-rules.pro :

-keep class com.azeoo.sdk.** { *; }
-keep interface com.azeoo.sdk.** { *; }
-dontwarn com.azeoo.sdk.**

Étapes suivantes