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
- Primeiro, configure o ambiente de desenvolvimento.
- 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
- Android Studio:
import android project and run module flavor `android.OsmAnd`
- 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
.
Sabor | Pacote | Descrição |
---|---|---|
nightlyFree | net.osmand.dev | Compilação noturna gratuita que pode ser instalada ao lado de ambas as versões do GPlay para testes e exploração |
androidFull | net.osmand.plus | A versão completa do OsmAnd~ pode ser usada para compilações F-Droid. Não usa os serviços do Google Play. |
gplayFree | net.osmand | Versão do Google Play OsmAnd - usa os serviços do Google Play. |
gplayFull | net.osmand.plus | Versão do Google Play OsmAnd+ - usa os serviços do Google Play. |
huawei | net.osmand | Compilaçã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.
- Primeiro, configure o ambiente de desenvolvimento, veja ambiente de desenvolvimento.
- 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 ...
- 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 tarefa de compilação gradle
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 & 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)
- OsmAnd-api-sample - o aplicativo de exemplo mais simples que interage com o OsmAnd já instalado via interface AIDL e Intents.
- OsmAnd-map-sample - um aplicativo de exemplo tem o OsmAnd totalmente integrado a ele como SDK. Permite usar todas as APIs internas.