Skip to main content

Como Compilar a Versão Android

Android SDK: Versão mínima do SDK: 21 Versão do SDK de destino: 29 Ferramentas do SDK de destino: 29

Android NDK: 23.

Compilar apk Android

  1. Primeiro, configure o ambiente de desenvolvimento.
  2. Gradle (linha de comando):
    • Especifique as variáveis de ambiente. ANDROID_SDK e ANDROID_HOME são onde o Android Studio armazena as coisas:
    export ANDROID_SDK=/[seu-caminho]/Android/sdk
    export ANDROID_NDK=/[seu-caminho]/android-ndk-23
    export ANDROID_HOME=/[seu-caminho]/Android/sdk
    • Compile com a linha de comando
    cd android/OsmAnd && ../gradlew assembleNightlyFreeLegacyFatDebug
  3. Android Studio:
import android project and run module flavor `android.OsmAnd`
  1. Você pode usar nosso debug.keystore para tornar as compilações compatíveis com a compilação noturna.

Tarefas / sabores do Gradle

A tarefa Gradle assembleNightlyFreeLegacyFatDebug produzirá o apk em android/OsmAnd/build/outputs/apk/ nightlyFreeLegacyFat/debug/OsmAnd-nightlyFree-legacy-fat-debug.apk. O nome da tarefa assembleNightlyFreeLegacyFatDebug consiste em:

  • assemble - tarefa padrão para construir apk
  • nightlyFree - sabor de compilação descrito abaixo
  • legacy - legacy / opengl / opengldebug - define se o apk produzido terá bibliotecas nativas para usar a renderização de mapa opengl ou não. Mais informações no plugin de desenvolvimento do OsmAnd.
  • fat - fat (todos os destinos nativos) / armv7 / arm64 / x86 / armonly - selecione quais bibliotecas nativas estarão dentro do apk.
  • debug - debug / release - tarefa padrão

Para construir o pacote, você pode usar bundle${FLAVOR}LegacyFatRelease.

SaborPacoteDescrição
nightlyFreenet.osmand.devCompilação noturna gratuita que pode ser instalada ao lado de ambas as versões do GPlay para testes e exploração
androidFullnet.osmand.plusA versão completa do OsmAnd~ pode ser usada para compilações F-Droid. Não usa os serviços do Google Play.
gplayFreenet.osmandVersão do Google Play OsmAnd - usa os serviços do Google Play.
gplayFullnet.osmand.plusVersão do Google Play OsmAnd+ - usa os serviços do Google Play.
huaweinet.osmandCompilação especial para o mercado Huawei - usa os serviços Huawei, mas não o Google Play

Depuração

Habilitar depuração NDK para biblioteca nativa legada (OsmAnd-core-legacy)

Em OsmAnd/OsmAnd/jni/Application.mk, descomente as linhas

APP_OPTIM := debug
APP_DEBUG := true

Adicione símbolos de depuração na configuração do projeto do Android Studio. Para isso, vá em Editar Configuração / no menu esquerdo selecione Android App "OsmAnd" / no lado direito selecione a aba "Debugger". E adicione OsmAnd/obj/local onde as bibliotecas são construídas para diferentes configurações (arm64-v8a, armeabi-v7a, x86, x86_64).

Compilar biblioteca OpenGL

A biblioteca Opengl é necessária para destinos como assembleNightlyFreeOpenglFatDebug e, por padrão, é baixada do repositório OsmAnd ivy - tarefa gradle. Para desenvolvimento local, você pode precisar compilar essas bibliotecas e publicá-las no repositório ivy local.

  1. Primeiro, configure o ambiente de desenvolvimento, veja ambiente de desenvolvimento.
  2. Instale as ferramentas.
    • Android SDK - 29.
    • Android NDK - 23.
    • CMake > 3.6 (cmake -version).
    • SWIG - 4.1.1 (ou compatível).
    • Compilador C++ local (preferencialmente clang).
    • Ferramentas Bash: wget, curl, python ...
  3. Gradle (linha de comando):
    • Especifique as variáveis de ambiente. ANDROID_SDK e ANDROID_HOME são onde o Android Studio armazena as coisas:
    export ANDROID_SDK=/[seu-caminho]/Android/sdk
    export ANDROID_NDK=/[seu-caminho]/android-ndk-23
    export ANDROID_HOME=/[seu-caminho]/Android/sdk
    cd core/wrappers/android && ../gradlew build

Dica: A compilação pode levar muito tempo e você provavelmente não precisará de todas as plataformas, então você pode comentar as arquiteturas indesejadas no script e compilar apenas para 1 plataforma (x86, x86_64, arm, arm64) debug ou release.

Depuração

A ser completado: como configurar a depuração ndk do Android.

Compilar exemplos de API

🚧 This article is incomplete

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

Existem 2 tipos de aplicativos de exemplo fornecidos pelo OsmAnd, todos representados no repositório Github osmand-api-demo e compilados regularmente no OsmAnd Builder.

Script de compilação:

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

Leia mais.