Aller au contenu principal

Comment compiler la version Android

Android SDK : Version minimale du SDK : 21 Version cible du SDK : 29 Outils du SDK cible : 29

Android NDK : 23.

Compiler l’apk Android​

  1. Configurez d’abord l’environnement de dĂ©veloppement.
  2. Gradle (ligne de commande) :
    • SpĂ©cifiez les variables d’environnement. ANDROID_SDK et ANDROID_HOME sont les emplacements oĂč Android Studio place les Ă©lĂ©ments :
    export ANDROID_SDK=/[your-path]/Android/sdk
    export ANDROID_NDK=/[your-path]/android-ndk-23
    export ANDROID_HOME=/[your-path]/Android/sdk
    • Compilez avec la ligne de commande
    cd android/OsmAnd && ../gradlew assembleNightlyFreeLegacyFatDebug
  3. Android Studio :
import android project and run module flavor `android.OsmAnd`
  1. Vous pouvez utiliser notre debug.keystore pour rendre les builds compatibles avec la nightly build.

Tñches/saveurs Gradle​

La tñche Gradle assembleNightlyFreeLegacyFatDebug produira l’apk dans android/OsmAnd/build/outputs/apk/ nightlyFreeLegacyFat/debug/OsmAnd-nightlyFree-legacy-fat-debug.apk. Le nom de la tñche assembleNightlyFreeLegacyFatDebug se compose de :

  • assemble - tĂąche standard pour construire l’apk
  • nightlyFree - saveur de build dĂ©crite ci-dessous
  • legacy - legacy / opengl / opengldebug - dĂ©finit si l’apk produit aura des bibliothĂšques natives pour utiliser le rendu de carte opengl ou non. Plus d’informations dans le plugin de dĂ©veloppement OsmAnd.
  • fat - fat (toutes les cibles natives) / armv7 / arm64 / x86 / armonly - sĂ©lectionne les bibliothĂšques natives qui seront dans l’apk.
  • debug - debug / release - tĂąche standard

Pour construire le bundle, vous pouvez utiliser bundle${FLAVOR}LegacyFatRelease.

SaveurPaquetDescription
nightlyFreenet.osmand.devBuild gratuite nocturne qui peut ĂȘtre installĂ©e Ă  cĂŽtĂ© des deux versions GPlay pour les tests et l’exploration
androidFullnet.osmand.plusLa version complĂšte d’OsmAnd~ peut ĂȘtre utilisĂ©e pour les builds F-Droid. N’utilise pas les services Google Play.
gplayFreenet.osmandVersion Google Play OsmAnd - utilise les services Google Play.
gplayFullnet.osmand.plusVersion Google Play OsmAnd+ - utilise les services Google Play.
huaweinet.osmandBuild spéciale pour le marché Huawei - utilise les services Huawei mais pas Google Play

DĂ©bogage​

Activer le dĂ©bogage NDK pour la bibliothĂšque native hĂ©ritĂ©e (OsmAnd-core-legacy)​

Dans OsmAnd/OsmAnd/jni/Application.mk, décommentez les lignes

APP_OPTIM := debug
APP_DEBUG := true

Ajoutez des symboles de dĂ©bogage dans la configuration du projet Android Studio. Pour cela, allez dans Edit Configuration / dans le menu de gauche, sĂ©lectionnez Android App "OsmAnd" / sur le cĂŽtĂ© droit, sĂ©lectionnez l’onglet "Debugger". Et ajoutez OsmAnd/obj/local oĂč les bibliothĂšques de build pour diffĂ©rentes configurations (arm64-v8a, armeabi-v7a, x86, x86_64).

Compiler la bibliothùque OpenGL​

La bibliothÚque Opengl est nécessaire pour des cibles comme assembleNightlyFreeOpenglFatDebug et est par défaut téléchargée depuis le répertoire OsmAnd ivy - tùche gradle. Pour le développement local, vous pourriez avoir besoin de compiler ces bibliothÚques et de les publier dans le répertoire ivy local.

  1. Configurez d’abord l’environnement de dĂ©veloppement, voir environnement de dĂ©veloppement.
  2. Installez les outils.
    • Android SDK - 29.
    • Android NDK - 23.
    • CMake > 3.6 (cmake -version).
    • SWIG - 4.1.1 (ou compatible).
    • Compilateur c++ local (de prĂ©fĂ©rence clang).
    • Outils Bash : wget, curl, python ...
  3. Gradle (ligne de commande) :
    • SpĂ©cifiez les variables d’environnement. ANDROID_SDK et ANDROID_HOME sont les emplacements oĂč Android Studio place les Ă©lĂ©ments :
    export ANDROID_SDK=/[your-path]/Android/sdk
    export ANDROID_NDK=/[your-path]/android-ndk-23
    export ANDROID_HOME=/[your-path]/Android/sdk
    cd core/wrappers/android && ../gradlew build

Astuce : La compilation peut prendre beaucoup de temps et vous n’aurez probablement pas besoin de toutes les plateformes, vous pouvez donc commenter les architectures indĂ©sirables dans le script et ne construire que pour 1 plateforme (x86, x86_64, arm, arm64) en mode debug ou release.

DĂ©bogage​

À complĂ©ter : comment configurer le dĂ©bogage Android ndk.

Compiler les exemples d’API​

🚧 This article is incomplete

This article is incomplete & needs to be reviewed. You can help by creating a pull request.

OsmAnd fournit 2 types d’exemples d’applications, ils sont tous reprĂ©sentĂ©s dans le dĂ©pĂŽt Github osmand-api-demo et compilĂ©s rĂ©guliĂšrement sur OsmAnd Builder.

Script de compilation :

(cd OsmAnd-api-sample && ./gradlew clean assembleRelease)
(cd OsmAnd-map-sample && ./gradlew clean assembleRelease)

En savoir plus.