Skip to main content

Como compilar o OsmAndMapCreator e ferramentas

Compilar o OsmAndMapCreator

  1. Primeiro, configure o ambiente de desenvolvimento.
  2. Gradle (linha de comando):
    • Compile com a linha de comando
    cd tools/java-tools && ../gradlew build
    • O OsmAndMapCreator.zip será produzido com todos os scripts dentro Nota: o projeto Android é necessário para construir ferramentas (ele usa o projeto OsmAnd-java).
  3. Eclipse:
    • Pré-configure os projetos do Eclipse
    cd tools/java-tools && ../gradlew cleanEclipse eclipse
    • No Eclipse, em 'Importar' - 'Projetos existentes no espaço de trabalho', selecione as pastas 'OsmAnd-java', 'OsmAndMapCreatorutilities', 'OsmAndMapCreator', 'OsmAndServer', 'OsmAndServerUtilties'. Nota: não selecione a pasta superior java-tools e, em vez disso, selecione os projetos especificados acima.
  4. IntelliJ IDEA
    • 'Arquivo' > 'Novo' > 'Projeto a partir de fontes existentes...' e navegue até java-tools
    • Selecione 'Importar projeto a partir de modelo existente' e escolha 'gradle' na lista
  5. Classes principais para executar a partir do IDE:
    • net.osmand.MainUtilities - representa utilities.sh e leva a todas as utilidades possíveis.
    • net.osmand.obf.BinaryInspector - utilitário inspector.sh para ler arquivos OBF e fornecer informações sobre eles.
    • net.osmand.obf.preparation.IndexCreator - atalho para gerar arquivo obf.
    • net.osmand.swing.OsmExtractionUI - OsmAndMapCreator

Compilar biblioteca de renderização nativa para OsmAndMapCreator

A biblioteca de renderização nativa pode ser usada para testar a renderização offline ou o roteamento nativo offline. É muito útil para depurar e testar um estilo de renderização ou uma configuração de roteamento.

  1. Primeiro, configure o ambiente de desenvolvimento, veja ambiente de desenvolvimento.
  2. Baixe as dependências externas
cd core-legacy/externals
./configure.sh
  1. Especifique JAVA_HOME globalmente via $PATH ou na linha de comando
export JAVA_HOME=<>
  1. Escolha um destino específico para o SO e compile uma versão específica 'debug', 'release' ou '' (padrão). Exemplo
cd core-legacy/targets
./intel-darwin.sh release # macOs release
./amd64-linux-clang.sh debug # linux debug - padrão
cd ....baked # como intel-darwin-intel-darwin-clang-release.baked ou amd64-linux-amd64-clang-release.baked
make -j4
  1. Os binários estarão disponíveis em core-legacy/binaries/. Exemplo:
  core-legacy/binaries/darwin/intel/Debug/libosmand.dylib

Solução de problemas

  • Arquivos ausentes externals/libjpeg-turbo/jconfigint.h.in não existe. Se você experimentar que o libjpeg-turbo não pôde compilar
targets/.cmake/../../externals/skia/upstream.patched/third_party/externals/libjpeg-turbo/jconfigint.h.in não existe.

Você pode encontrar os arquivos aqui e colocá-los na pasta 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 a versão do core qt para OsmAndMapCreator

  1. Primeiro, configure o ambiente de desenvolvimento.
  2. Prepare a compilação (cmake) para um destino específico. Exemplo clang / linux:
   alias clang='clang -std=c++11'
build/amd64-linux-clang.sh release
  1. Compile a versão da biblioteca
    (cd "baked/amd64-linux-clang-release.make" && make -j4)