Skip to main content

Cómo compilar OsmAndMapCreator y herramientas

Compilar OsmAndMapCreator

  1. Primero, configure el entorno de desarrollo.
  2. Gradle (línea de comandos):
    • Compile con la línea de comandos
    cd tools/java-tools && ../gradlew build
    • Se producirá OsmAndMapCreator.zip con todos los scripts dentro. Nota: se requiere un proyecto de Android para construir herramientas (utiliza el proyecto OsmAnd-java).
  3. Eclipse:
    • Preconfigure los proyectos de Eclipse
    cd tools/java-tools && ../gradlew cleanEclipse eclipse
    • En Eclipse, 'Importar' - 'Proyectos existentes en el espacio de trabajo', seleccione las carpetas 'OsmAnd-java', 'OsmAndMapCreatorutilities', 'OsmAndMapCreator', 'OsmAndServer', 'OsmAndServerUtilties'. Nota: no seleccione la carpeta superior java-tools y, en su lugar, seleccione los proyectos especificados anteriormente.
  4. IntelliJ IDEA
    • 'Archivo' > 'Nuevo' > 'Proyecto desde fuentes existentes...' y navegue hasta java-tools
    • Seleccione 'Importar proyecto desde modelo existente' y elija 'gradle' de la lista.
  5. Clases principales para ejecutar desde el IDE:
    • net.osmand.MainUtilities - representa utilities.sh y conduce a todas las utilidades posibles.
    • net.osmand.obf.BinaryInspector - utilidad inspector.sh para leer archivos OBF y proporciona información sobre ellos.
    • net.osmand.obf.preparation.IndexCreator - atajo para generar un archivo obf.
    • net.osmand.swing.OsmExtractionUI - OsmAndMapCreator

Compilar la biblioteca de renderizado nativo para OsmAndMapCreator

La biblioteca de renderizado nativo se puede utilizar para probar el renderizado sin conexión o el enrutamiento nativo sin conexión. Es muy útil para depurar y probar un estilo de renderizado o una configuración de enrutamiento.

  1. Primero, configure el entorno de desarrollo, consulte entorno de desarrollo.
  2. Descargue las dependencias externas
cd core-legacy/externals
./configure.sh
  1. Especifique JAVA_HOME globalmente a través de $PATH o en la línea de comandos
export JAVA_HOME=<>
  1. Elija un objetivo específico para el sistema operativo y compile una versión específica 'debug', 'release' o '' (predeterminada). Ejemplo
cd core-legacy/targets
./intel-darwin.sh release # versión para macOS
./amd64-linux-clang.sh debug # depuración para Linux - predeterminado
cd ....baked # como intel-darwin-intel-darwin-clang-release.baked o amd64-linux-amd64-clang-release.baked
make -j4
  1. Los binarios estarán disponibles en core-legacy/binaries/. Ejemplo:
  core-legacy/binaries/darwin/intel/Debug/libosmand.dylib

Solución de problemas

  • Faltan archivos externals/libjpeg-turbo/jconfigint.h.in no existe. Si experimenta que libjpeg-turbo no pudo compilar
targets/.cmake/../../externals/skia/upstream.patched/third_party/externals/libjpeg-turbo/jconfigint.h.in no existe.

Puede encontrar los archivos aquí y colocarlos en la carpeta especificada 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

Compilar la versión del núcleo qt para OsmAndMapCreator

  1. Primero, configure el entorno de desarrollo.
  2. Prepare la compilación (cmake) para un objetivo específico. Ejemplo clang / linux:
   alias clang='clang -std=c++11'
build/amd64-linux-clang.sh release
  1. Compilar la versión de la biblioteca
    (cd "baked/amd64-linux-clang-release.make" && make -j4)