Cómo compilar la versión de Android
Android SDK: Versión mínima del SDK: 21 Versión del SDK de destino: 29 Herramientas del SDK de destino: 29
Android NDK: 23.
Compilar el APK de Android
- Primero, configure el entorno de desarrollo.
- Gradle (línea de comandos):
- Especifique las variables de entorno. ANDROID_SDK y ANDROID_HOME son donde Android Studio coloca las cosas:
export ANDROID_SDK=/[su-ruta]/Android/sdk
export ANDROID_NDK=/[su-ruta]/android-ndk-23
export ANDROID_HOME=/[su-ruta]/Android/sdk- Compile con la línea de comandos
cd android/OsmAnd && ../gradlew assembleNightlyFreeLegacyFatDebug
- Android Studio:
importe el proyecto de Android y ejecute el sabor del módulo `android.OsmAnd`
- Puede usar nuestro debug.keystore para que las compilaciones sean compatibles con la compilación nocturna.
Tareas/sabores de Gradle
La tarea de Gradle assembleNightlyFreeLegacyFatDebug producirá el apk en android/OsmAnd/build/outputs/apk/ nightlyFreeLegacyFat/debug/OsmAnd-nightlyFree-legacy-fat-debug.apk. El nombre de la tarea assembleNightlyFreeLegacyFatDebug consiste en:
- assemble - tarea estándar para construir apk
- nightlyFree - sabor de compilación descrito a continuación
- legacy - legacy / opengl / opengldebug - define si el apk producido tendrá bibliotecas nativas para usar la renderización de mapas opengl o no. Más información en el complemento de desarrollo de OsmAnd.
- fat - fat (todos los objetivos nativos) / armv7 / arm64 / x86 / armonly - selecciona qué bibliotecas nativas estarán dentro del apk.
- debug - debug / release - tarea estándar
Para construir el paquete, puede usar bundle${FLAVOR}LegacyFatRelease
.
Sabor | Paquete | Descripción |
---|---|---|
nightlyFree | net.osmand.dev | Compilación gratuita nocturna que se puede instalar junto a ambas versiones de GPlay para pruebas y exploración |
androidFull | net.osmand.plus | La versión completa de OsmAnd~ se puede usar para compilaciones de F-Droid. No usa los servicios de Google Play. |
gplayFree | net.osmand | Versión de OsmAnd de Google Play - usa los servicios de Google Play. |
gplayFull | net.osmand.plus | Versión de OsmAnd+ de Google Play - usa los servicios de Google Play. |
huawei | net.osmand | Compilación especial para el mercado de Huawei - usa los servicios de Huawei pero no Google Play |
Depuración
Habilitar la depuración de NDK para la biblioteca nativa heredada (OsmAnd-core-legacy)
En OsmAnd/OsmAnd/jni/Application.mk, descomente las líneas
APP_OPTIM := debug
APP_DEBUG := true
Agregue símbolos de depuración en la configuración del proyecto de Android Studio. Para esto, vaya a Editar configuración / en el menú de la izquierda, seleccione la aplicación de Android "OsmAnd" / en el lado derecho, seleccione la pestaña "Depurador". Y agregue OsmAnd/obj/local donde se construyen las bibliotecas para diferentes configuraciones (arm64-v8a, armeabi-v7a, x86, x86_64).
Compilar la biblioteca OpenGL
La biblioteca Opengl es necesaria para objetivos como assembleNightlyFreeOpenglFatDebug y, por defecto, se descarga del repositorio ivy de OsmAnd - tarea de gradle. Para el desarrollo local, es posible que deba compilar esas bibliotecas y publicarlas en el repositorio ivy local.
- Primero, configure el entorno de desarrollo, consulte entorno de desarrollo.
- Instale las herramientas.
- Android SDK - 29.
- Android NDK - 23.
- CMake > 3.6 (cmake -version).
- SWIG - 4.1.1 (o compatible).
- Compilador c++ local (preferiblemente clang).
- Herramientas Bash: wget, curl, python ...
- Gradle (línea de comandos):
- Especifique las variables de entorno. ANDROID_SDK y ANDROID_HOME son donde Android Studio coloca las cosas:
export ANDROID_SDK=/[su-ruta]/Android/sdk
export ANDROID_NDK=/[su-ruta]/android-ndk-23
export ANDROID_HOME=/[su-ruta]/Android/sdk- Compile con la tarea de compilación de gradle
cd core/wrappers/android && ../gradlew build
Sugerencia: La compilación puede llevar mucho tiempo y es probable que no necesite todas las plataformas, por lo que puede comentar la arquitectura no deseada en el script y compilar solo para 1 plataforma (x86, x86_64, arm, arm64) depuración o lanzamiento.
Depuración
Por completar: cómo configurar la depuración de Android NDK.
Compilar ejemplos de API
This article is incomplete & needs to be reviewed. You can help by creating a pull request.
OsmAnd proporciona 2 tipos de aplicaciones de ejemplo, todas representadas en el repositorio de Github osmand-api-demo y compiladas regularmente en OsmAnd Builder.
Script de compilación:
(cd OsmAnd-api-sample && ./gradlew clean assembleRelease)
(cd OsmAnd-map-sample && ./gradlew clean assembleRelease)
- OsmAnd-api-sample - la aplicación de ejemplo más simple que interactúa con OsmAnd ya instalado a través de la interfaz AIDL e Intents.
- OsmAnd-map-sample - una aplicación de ejemplo tiene OsmAnd completamente integrado en ella como SDK. Permite usar todas las API internas.