Guide complet pour l'implémentation de DRouter sur Android

Le framework DRouter est une solution de routage avancée pour les applications Android, facilitant la navigation entre les composents et la communication inter-processus. Ce guide détaille l'organisation interne du projet et les étapes de configuration nécessaires pour son déploiement.

Organisation de l'arborescence du projet

Le projet DRouter est structuré de manière modulaire afin de séparer les responsabilités entre les fonctionnalités de base, les plugins de construction et les outils de communication.

  • buildSrc/ : Centralise la logique de construction personnalisée du projet.
  • demo/ : Module d'application contenant des exemples concrets d'intégration.
  • drouter-api/ : Bibliothèque principale fournissant les interfaces de programmation (API).
  • drouter-api-page/ : Extension dédiée à la gestion spécifique de la navigation entre pages.
  • drouter-api-process/ : Composant gérant la communication entre différents processus (IPC).
  • drouter-plugin/ : Plugin Gradle chargé de l'automatisation de l'enregistrement des routes au moment de la compilation.
  • gradle/ : Contient les fichiers du Gradle Wrapper pour assurer la cohérence de l'environnement de build.
  • LICENSE / README.md : Documentation technique et informations juridiques relatives à l'utilisation du code.

Configuration des fichiers de build

Le pilotage du framework repose sur deux fichiers essentiels : build.gradle et settings.gradle. Ces fichiers orchestrent les dépendances et l'inclusion des modules.

Configuration du module principal (build.gradle)

Pour activer DRouter dans une application Android, il est nécessaire d'appliquer le plugin dédié et de déclarer les dépendances requises :

// Application des plugins nécessaires
apply plugin: 'com.android.application'
apply plugin: 'io.github.didi.drouter'

android {
    compileSdkVersion 33
    // Paramètres additionnels...
}

dependencies {
    // Intégration des composants DRouter
    def drouter_version = "2.4.6"
    implementation "io.github.didi:drouter-api:$drouter_version"
    implementation "io.github.didi:drouter-api-process:1.0.0"
}

Gestion des modules (settings.gradle)

Ce fichier définit la structure multi-projets. Il garantit que Gradle reconnaît tous les sous-composants du framework lors du processus de synchronisation :

rootProject.name = "MyDRouterProject"

// Définition des modules à compiler
include ':app'
include ':drouter-core'
include ':drouter-ipc'

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}

Paramétrage global et signature de l'application

La personnalisation du comportement de DRouter et la sécurisation des livrables passent par des fichiers de propriétés spécifiques.

Fichier gradle.properties

Ce fichier permet d'ajuster les performances de la machine virtuelle Java et d'activer le support des bibliothèques modernes :

# Optimisation de la mémoire pour Gradle
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=512m
# Support natif d'AndroidX
android.useAndroidX=true
android.enableJetifier=true

Sécurisation via drouter-sign

La gestion des clés de signature est isolée dans un répertoire spécifique. Cela permet de configurer l'accès aux certificats via un fichier keystore.properties pour séparer les informations sensibles du code source :

# Exemple de configuration de signature
path.keystore=../security/release.jks
pwd.store=mot_de_passe_magasin
alias.key=alias_application
pwd.key=mot_de_passe_clef

L'utilisation de cette structure garantit une intégration fluide du routage dynamique, tout en maintenant une séparation claire entre la logique métier et la configuration technique du projet Android.

Étiquettes: Android-SDK DRouter Gradle-Plugin Mobile-Architecture Java-Android

Publié le 6 juin à 04h43