Come compilare la versione Android
Android SDK: Versione minima sdk: 21 Versione target sdk: 29 Strumenti target sdk: 29
Android NDK: 23.
Compilare apk Android
- Per prima cosa configura l'ambiente di sviluppo.
- Gradle (riga di comando):
- Specifica le variabili d'ambiente. ANDROID_SDK e ANDROID_HOME sono dove Android Studio posiziona le cose:
export ANDROID_SDK=/[il-tuo-percorso]/Android/sdk
export ANDROID_NDK=/[il-tuo-percorso]/android-ndk-23
export ANDROID_HOME=/[il-tuo-percorso]/Android/sdk- Compila con la riga di comando
cd android/OsmAnd && ../gradlew assembleNightlyFreeLegacyFatDebug
- Android Studio:
importa il progetto Android ed esegui il flavor del modulo `android.OsmAnd`
- Puoi usare il nostro debug.keystore per rendere le build compatibili con la build nightly.
Attività/flavor di Gradle
L'attività Gradle assembleNightlyFreeLegacyFatDebug produrrà l'apk in android/OsmAnd/build/outputs/apk/ nightlyFreeLegacyFat/debug/OsmAnd-nightlyFree-legacy-fat-debug.apk. Il nome dell'attività assembleNightlyFreeLegacyFatDebug è composto da:
- assemble - attività standard per costruire apk
- nightlyFree - build flavor descritto di seguito
- legacy - legacy / opengl / opengldebug - definisce se l'apk prodotto avrà librerie native per utilizzare il rendering della mappa opengl o meno. Maggiori informazioni nel plugin di sviluppo OsmAnd.
- fat - fat (tutti i target nativi) / armv7 / arm64 / x86 / armonly - seleziona quali librerie native saranno all'interno dell'apk.
- debug - debug / release - attività standard
Per costruire il bundle puoi usare bundle${FLAVOR}LegacyFatRelease
.
Flavor | Pacchetto | Descrizione |
---|---|---|
nightlyFree | net.osmand.dev | Build nightly gratuita che può essere installata accanto a entrambe le versioni GPlay per esigenze di test ed esplorazione |
androidFull | net.osmand.plus | La versione completa di OsmAnd~ può essere utilizzata per le build F-Droid. Non utilizza i servizi GooglePlay. |
gplayFree | net.osmand | Versione Google Play OsmAnd - utilizza i servizi GooglePlay. |
gplayFull | net.osmand.plus | Versione Google Play OsmAnd+ - utilizza i servizi GooglePlay. |
huawei | net.osmand | Build speciale per il mercato Huawei - utilizza i servizi Huawei ma non Google Play |
Debug
Abilita il debug NDK per la libreria nativa legacy (OsmAnd-core-legacy)
In OsmAnd/OsmAnd/jni/Application.mk decommenta le righe
APP_OPTIM := debug
APP_DEBUG := true
Aggiungi i simboli di debug nella configurazione del progetto Android Studio. Per fare ciò vai su Modifica configurazione / nel menu a sinistra seleziona App Android "OsmAnd" / nel lato destro seleziona la scheda "Debugger". E aggiungi OsmAnd/obj/local dove sono costruite le librerie per diverse configurazioni (arm64-v8a, armeabi-v7a, x86, x86_64).
Compila la libreria OpenGL
La libreria Opengl è necessaria per target come assembleNightlyFreeOpenglFatDebug e per impostazione predefinita viene scaricata dal repository ivy di OsmAnd - attività gradle. Per lo sviluppo locale potresti dover compilare quelle librerie e pubblicarle nel repository ivy locale.
- Per prima cosa configura l'ambiente di sviluppo, vedi ambiente di sviluppo.
- Installa gli strumenti.
- Android SDK - 29.
- Android NDK - 23.
- CMake > 3.6 (cmake -version).
- SWIG - 4.1.1 (o compatibile).
- Compilatore c++ locale (preferibilmente clang).
- Strumenti Bash: wget, curl, python ...
- Gradle (riga di comando):
- Specifica le variabili d'ambiente. ANDROID_SDK e ANDROID_HOME sono dove Android Studio posiziona le cose:
export ANDROID_SDK=/[il-tuo-percorso]/Android/sdk
export ANDROID_NDK=/[il-tuo-percorso]/android-ndk-23
export ANDROID_HOME=/[il-tuo-percorso]/Android/sdk- Compila con l'attività di build gradle
cd core/wrappers/android && ../gradlew build
Suggerimento: la compilazione potrebbe richiedere molto tempo e probabilmente non avrai bisogno di tutte le piattaforme, quindi puoi commentare le architetture indesiderate nello script e costruire solo per 1 piattaforma (x86, x86_64, arm, arm64) debug o release.
Debug
Da completare: come configurare il debug Android ndk.
Compila gli esempi API
This article is incomplete & needs to be reviewed. You can help by creating a pull request.
Ci sono 2 tipi di app di esempio fornite da OsmAnd, sono tutte rappresentate nel repository Github osmand-api-demo e compilate regolarmente su OsmAnd Builder.
Script di compilazione:
(cd OsmAnd-api-sample && ./gradlew clean assembleRelease)
(cd OsmAnd-map-sample && ./gradlew clean assembleRelease)
- OsmAnd-api-sample - l'applicazione di esempio più semplice che interagisce con OsmAnd già installato tramite interfaccia AIDL e Intent.
- OsmAnd-map-sample - un'applicazione di esempio che ha OsmAnd completamente integrato al suo interno come SDK. Consente di utilizzare tutte le API interne.