Android Sürümü Nasıl Derlenir?
Android SDK: Minimum SDK sürümü: 21 Hedef SDK sürümü: 29 Hedef SDK araçları: 29
Android NDK: 23.
Android apk'yi Derle
- İlk olarak geliştirme ortamını kurun.
- Gradle (komut satırı):
- Ortam değişkenlerini belirtin. ANDROID_SDK ve ANDROID_HOME, Android Studio'nun dosyaları yerleştirdiği yerlerdir:
export ANDROID_SDK=/[sizin-yolunuz]/Android/sdk
export ANDROID_NDK=/[sizin-yolunuz]/android-ndk-23
export ANDROID_HOME=/[sizin-yolunuz]/Android/sdk- Komut satırıyla derleyin
cd android/OsmAnd && ../gradlew assembleNightlyFreeLegacyFatDebug
- Android Studio:
android projesini içe aktarın ve `android.OsmAnd` modülünü çalıştırın
- Derlemeleri gece derlemesiyle uyumlu hale getirmek için debug.keystore dosyamızı kullanabilirsiniz.
Gradle görevleri / çeşitleri
Gradle görevi assembleNightlyFreeLegacyFatDebug, android/OsmAnd/build/outputs/apk/ nightlyFreeLegacyFat/debug/OsmAnd-nightlyFree-legacy-fat-debug.apk adresinde apk üretecektir. Görev adı assembleNightlyFreeLegacyFatDebug şunlardan oluşur:
- assemble - apk oluşturmak için standart görev
- nightlyFree - aşağıda açıklanan derleme çeşidi
- legacy - legacy / opengl / opengldebug - üretilen apk'nın opengl harita oluşturmayı kullanmak için yerel kütüphanelere sahip olup olmayacağını tanımlar. Daha fazla bilgi için OsmAnd geliştirme eklentisine bakın.
- fat - fat (tüm yerel hedefler) / armv7 / arm64 / x86 / armonly - apk içinde hangi yerel kütüphanelerin olacağını seçer.
- debug - debug / release - standart görev
Paket oluşturmak için bundle${FLAVOR}LegacyFatRelease
kullanabilirsiniz.
Çeşit | Paket | Açıklama |
---|---|---|
nightlyFree | net.osmand.dev | Hem GPlay sürümleriyle birlikte test ve keşif ihtiyaçları için kurulabilen gece ücretsiz derlemesi |
androidFull | net.osmand.plus | Tam OsmAnd~ sürümü F-Droid derlemeleri için kullanılabilir. GooglePlay hizmetlerini kullanmaz. |
gplayFree | net.osmand | Google Play OsmAnd sürümü - GooglePlay hizmetlerini kullanır. |
gplayFull | net.osmand.plus | Google Play OsmAnd+ sürümü - GooglePlay hizmetlerini kullanır. |
huawei | net.osmand | Huawei pazarı için özel derleme - Google Play değil, Huawei hizmetlerini kullanır |
Hata Ayıklama
Eski yerel kütüphane için NDK hata ayıklamasını etkinleştir (OsmAnd-core-legacy)
OsmAnd/OsmAnd/jni/Application.mk dosyasındaki satırların yorumunu kaldırın
APP_OPTIM := debug
APP_DEBUG := true
Android Studio proje yapılandırmasına hata ayıklama sembolleri ekleyin. Bunun için Yapılandırmayı Düzenle / sol menüde Android Uygulaması "OsmAnd" öğesini seçin / sağ tarafta "Hata Ayıklayıcı" sekmesini seçin. Ve farklı yapılandırmalar (arm64-v8a, armeabi-v7a, x86, x86_64) için kütüphanelerin oluşturulduğu OsmAnd/obj/local adresini ekleyin.
OpenGL kütüphanesini derle
Opengl kütüphanesi assembleNightlyFreeOpenglFatDebug gibi hedefler için gereklidir ve varsayılan olarak OsmAnd ivy deposundan indirilir - gradle görevi. Yerel geliştirme için bu kütüphaneleri derlemeniz ve yerel ivy deposuna yayınlamanız gerekebilir.
- İlk olarak geliştirme ortamını kurun, bkz. geliştirme ortamı.
- Araçları yükleyin.
- Android SDK - 29.
- Android NDK - 23.
- CMake > 3.6 (cmake -version).
- SWIG - 4.1.1 (veya uyumlu).
- Yerel c++ derleyici (tercihen clang).
- Bash araçları: wget, curl, python ...
- Gradle (komut satırı):
- Ortam değişkenlerini belirtin. ANDROID_SDK ve ANDROID_HOME, Android Studio'nun dosyaları yerleştirdiği yerlerdir:
export ANDROID_SDK=/[sizin-yolunuz]/Android/sdk
export ANDROID_NDK=/[sizin-yolunuz]/android-ndk-23
export ANDROID_HOME=/[sizin-yolunuz]/Android/sdk- gradle build görevi ile derleyin
cd core/wrappers/android && ../gradlew build
İpucu: Derleme uzun sürebilir ve muhtemelen tüm platformlara ihtiyacınız olmayacaktır, bu nedenle betikteki istenmeyen mimariyi yorum satırı yapabilir ve yalnızca 1 platform (x86, x86_64, arm, arm64) için hata ayıklama veya sürüm derlemesi yapabilirsiniz.
Hata Ayıklama
Tamamlanacak: Android ndk hata ayıklaması nasıl kurulur.
API örneklerini derle
This article is incomplete & needs to be reviewed. You can help by creating a pull request.
OsmAnd tarafından sağlanan 2 tür örnek uygulama vardır, hepsi osmand-api-demo Github deposunda temsil edilir ve düzenli olarak OsmAnd Builder adresinde derlenir.
Derleme betiği:
(cd OsmAnd-api-sample && ./gradlew clean assembleRelease)
(cd OsmAnd-map-sample && ./gradlew clean assembleRelease)
- OsmAnd-api-sample - AIDL arayüzü ve Intent'ler aracılığıyla zaten yüklü OsmAnd ile etkileşime giren en basit örnek uygulama.
- OsmAnd-map-sample - OsmAnd'ı SDK olarak tamamen entegre etmiş bir örnek uygulama. Tüm dahili API'leri kullanmaya izin verir.