Aller au contenu

Installation

Démarrez avec MINE - Moteur de Navigation Intérieure en l'intégrant dans votre projet Android. Ce guide complet vous accompagne tout au long du processus d'installation, des prérequis à la vérification.


Prérequis

Avant d'intégrer le Moteur de Navigation Intérieure, assurez-vous que votre environnement de développement répond aux exigences suivantes :

Prérequis Version Description
Android Studio Dernière version stable IDE recommandé pour le développement Android
JDK 17+ Requis pour la compilation et l'exécution
Android SDK Min: 24, Cible: 34 Compatibilité du niveau d'API
Gradle 8.2+ Outil d'automatisation de build

Environnement de développement

Nous recommandons d'utiliser la dernière version stable d'Android Studio avec la plateforme Android SDK 34 pour une expérience de développement optimale.


Ajout de la dépendance

Choisissez votre système de build préféré pour intégrer le Moteur de Navigation Intérieure dans votre projet.

Gradle (Recommandé)

dependencies {
    // Moteur de Navigation Intérieure - Bibliothèque principale
    implementation("com.machinestalk:indoornavigationengine:1.0.0")
}
dependencies {
    // Moteur de Navigation Intérieure - Bibliothèque principale
    implementation 'com.machinestalk:indoornavigationengine:1.0.0'
}

Dernière version

La version stable actuelle est 1.0.0. Consultez nos notes de version pour les dernières mises à jour et fonctionnalités.


Maven

Si vous utilisez Maven comme système de build, ajoutez la dépendance suivante à votre pom.xml :

<dependency>
    <groupId>com.machinestalk</groupId>
    <artifactId>indoornavigationengine</artifactId>
    <version>1.0.0</version>
    <type>aar</type>
</dependency>

Configuration

Compatibilité Java 17

Java 17 requis

Le Moteur de Navigation Intérieure utilise Filament, une puissante bibliothèque native de rendu 3D écrite en C++. Les liaisons JNI sont compilées avec Java 17, ce qui le rend obligatoire pour votre projet.

Configurez la compatibilité Java de votre projet dans le fichier build.gradle au niveau du module :

android {
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = "17"
    }
}
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = '17'
    }
}

Permissions

Ajoutez les permissions suivantes à votre AndroidManifest.xml pour activer toutes les fonctionnalités :

<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Requis pour les opérations réseau et le chargement de cartes -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <!-- Optionnel : Pour les fonctionnalités basées sur la localisation -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

</manifest>

Justification des permissions

  • INTERNET : Requis pour charger les données et ressources de carte
  • ACCESS_NETWORK_STATE : Permet de vérifier la connectivité réseau
  • Permissions de localisation : Optionnelles, nécessaires uniquement si vous utilisez des fonctionnalités de positionnement basées sur la localisation

Règles ProGuard

Si vous utilisez l'obfuscation de code, ajoutez ces règles ProGuard pour éviter les problèmes d'exécution :

# Moteur de Navigation Intérieure
-keep class com.machinestalk.indoornavigationengine.** { *; }
-keepclassmembers class com.machinestalk.indoornavigationengine.** { *; }

# Bibliothèques natives Filament
-keep class com.google.android.filament.** { *; }
-keepclassmembers class com.google.android.filament.** { *; }

Vérifier l'installation

Après avoir ajouté la dépendance et synchronisé votre projet, vérifiez l'installation en créant un test simple :

import com.machinestalk.indoornavigationengine.ui.MineSceneView
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // Initialiser le moteur de navigation
        val sceneView = MineSceneView(this)
        setContentView(sceneView)

        // Si cela se compile avec succès, l'installation est terminée !
    }
}
import com.machinestalk.indoornavigationengine.ui.MineSceneView;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Initialiser le moteur de navigation
        MineSceneView sceneView = new MineSceneView(this);
        setContentView(sceneView);

        // Si cela se compile avec succès, l'installation est terminée !
    }
}

Installation terminée

Si votre projet se compile sans erreur, félicitations ! Le Moteur de Navigation Intérieure est installé avec succès. Passez au Guide de démarrage rapide pour commencer à implémenter les fonctionnalités de navigation.


Dépannage

Vous rencontrez des problèmes ? Voici les problèmes courants et leurs solutions :

Erreurs de compilation

Échec de résolution : com.machinestalk:indoornavigationengine

Solution : Assurez-vous d'avoir le bon dépôt configuré dans votre settings.gradle ou build.gradle :

repositories {
    google()
    mavenCentral()
    // Ajoutez l'URL de votre dépôt ici
}
Problèmes de compatibilité de version Java

Solution : Vérifiez que votre JDK 17 est correctement configuré dans Android Studio :

  1. Allez dans Fichier → Structure du projet → Emplacement du SDK
  2. Assurez-vous que l'emplacement JDK pointe vers JDK 17 ou supérieur
  3. Nettoyez et recompilez votre projet
Erreurs de bibliothèque native introuvable

Solution : La bibliothèque inclut des binaires natifs pour plusieurs architectures. Assurez-vous de ne pas filtrer les ABI dans votre configuration de build :

android {
    defaultConfig {
        // N'utilisez pas abiFilters sauf si nécessaire
        ndk {
            abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
        }
    }
}

Problèmes d'exécution

Pour un dépannage plus détaillé, consultez notre Guide de dépannage ou contactez le support.


Prochaines étapes

Maintenant que vous avez installé avec succès le Moteur de Navigation Intérieure, vous êtes prêt à commencer à construire :


Besoin d'aide ?

Si vous rencontrez des problèmes lors de l'installation, n'hésitez pas à nous contacter :