Aller au contenu principal

Comment compiler OsmAndMapCreator et les outils

Compiler OsmAndMapCreator​

  1. Tout d'abord, configurez l'environnement de développement.
  2. Gradle (ligne de commande) :
    • Compilez avec la ligne de commande
    cd tools/java-tools && ../gradlew build
    • OsmAndMapCreator.zip sera produit avec tous les scripts Ă  l'intĂ©rieur. Note : le projet android est nĂ©cessaire pour construire les outils (il utilise le projet OsmAnd-java).
  3. Eclipse :
    • PrĂ©configurez les projets Eclipse
    cd tools/java-tools && ../gradlew cleanEclipse eclipse
    • Dans Eclipse, 'Import' - 'Existing projects in workspace', sĂ©lectionnez les dossiers 'OsmAnd-java', 'OsmAndMapCreatorutilities', 'OsmAndMapCreator', 'OsmAndServer', 'OsmAndServerUtilties'. Note : ne sĂ©lectionnez pas le dossier supĂ©rieur java-tools et sĂ©lectionnez plutĂ´t les projets spĂ©cifiĂ©s ci-dessus.
  4. IntelliJ IDEA
    • 'File' > 'New' > 'Project from existing sources...' et naviguez jusqu'Ă  java-tools
    • Select 'Import project from existing model' and pick 'gradle' from the list
  5. Classes principales à exécuter depuis l'IDE :
    • net.osmand.MainUtilities - reprĂ©sente utilities.sh et mène Ă  toutes les utilitĂ©s possibles.
    • net.osmand.obf.BinaryInspector - utilitaire inspector.sh pour lire les fichiers OBF et donne des informations Ă  leur sujet.
    • net.osmand.obf.preparation.IndexCreator - raccourci pour gĂ©nĂ©rer un fichier obf.
    • net.osmand.swing.OsmExtractionUI - OsmAndMapCreator

Compiler la bibliothèque de rendu native pour OsmAndMapCreator​

La bibliothèque de rendu native peut être utilisée pour tester le rendu hors ligne ou le routage natif hors ligne. Elle est très utile pour déboguer et tester un style de rendu ou une configuration de routage.

  1. Tout d'abord, configurez l'environnement de développement, voir environnement de développement.
  2. Téléchargez les dépendances externes
cd core-legacy/externals
./configure.sh
  1. Spécifiez JAVA_HOME globalement via $PATH ou en ligne de commande
export JAVA_HOME=<>
  1. Choisissez une cible spécifique pour l'OS et compilez une version spécifique 'debug', 'release' ou '' (par défaut). Exemple :
cd core-legacy/targets
./intel-darwin.sh release # macOs release
./amd64-linux-clang.sh debug # linux debug - default
cd ....baked # like intel-darwin-intel-darwin-clang-release.baked or amd64-linux-amd64-clang-release.baked
make -j4
  1. Les binaires seront disponibles dans core-legacy/binaries/. Exemple :
  core-legacy/binaries/darwin/intel/Debug/libosmand.dylib

Dépannage​

  • Fichiers manquants externals/libjpeg-turbo/jconfigint.h.in does not exist. Si vous rencontrez que libjpeg-turbo n'a pas pu compiler
targets/.cmake/../../externals/skia/upstream.patched/third_party/externals/libjpeg-turbo/jconfigint.h.in does not exist.

Vous pouvez trouver les fichiers ici et les placer dans le dossier spécifié https://github.com/osmandapp/OsmAnd-core/blob/legacy_core/externals/jpeg/jconfig.h https://github.com/osmandapp/OsmAnd-core/blob/legacy_core/externals/jpeg/jconfigint.h

Compiler la version core qt pour OsmAndMapCreator​

  1. Tout d'abord, configurez l'environnement de développement.
  2. Préparez la construction (cmake) pour une cible spécifique. Exemple clang / linux :
   alias clang='clang -std=c++11'
build/amd64-linux-clang.sh release
  1. Compilez la version release de la bibliothèque
    (cd "baked/amd64-linux-clang-release.make" && make -j4)