Skip to main content

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

  1. İlk olarak geliştirme ortamını kurun.
  2. 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
  3. Android Studio:
android projesini içe aktarın ve `android.OsmAnd` modülünü çalıştırın
  1. 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şitPaketAçıklama
nightlyFreenet.osmand.devHem GPlay sürümleriyle birlikte test ve keşif ihtiyaçları için kurulabilen gece ücretsiz derlemesi
androidFullnet.osmand.plusTam OsmAnd~ sürümü F-Droid derlemeleri için kullanılabilir. GooglePlay hizmetlerini kullanmaz.
gplayFreenet.osmandGoogle Play OsmAnd sürümü - GooglePlay hizmetlerini kullanır.
gplayFullnet.osmand.plusGoogle Play OsmAnd+ sürümü - GooglePlay hizmetlerini kullanır.
huaweinet.osmandHuawei 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.

  1. İlk olarak geliştirme ortamını kurun, bkz. geliştirme ortamı.
  2. 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 ...
  3. 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
    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

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)

Daha fazla oku.