Mevcut bir projeye Kotlin Multiplatform ekleme

Android projenizde Kotlin Multiplatform (KMP) modülü oluşturmak için Android Studio Meerkat ve Android Gradle eklentisi 8.8.0 ve sonraki sürümlerde bulunan Kotlin Multiplatform Paylaşılan Modülü şablonunu kullanın.

Modül şablonu, Android ve iOS platformlarını hedefleyen minimum yapılandırmayla yeni bir modülün oluşturulmasını otomatikleştirir. KMP, masaüstü ve web gibi diğer hedefleri de destekler. Bu hedefleri daha sonra modüle ekleyebilirsiniz. Tam liste için Desteklenen platformların kararlılığı başlıklı makaleyi inceleyin. Hedef bildirmek için Multiplatform Gradle DSL referansındaki Hedefler bölümüne bakın.

Paylaşılan KMP modülünü ayarlama

Paylaşılan bir KMP modülü oluşturmak için aşağıdaki adımları uygulayın:

  1. File > New > New Module'u (Dosya > Yeni > Yeni Modül) seçin.
  2. Şablonlar panelinde Kotlin Multiplatform Shared Module şablonunu seçin:
Yeni bir KMP modülü oluşturma
Şekil 1. Yeni bir KMP modülü oluşturma

Şablondaki alanlar şunlardır:

  • Modül adı: Gradle modül adını ve iOS çerçeve adını tanımlar (daha sonra değiştirilebilir).
  • Paket adı: Bu modüldeki dosyaların paket adını tanımlar.
    1. Finish'i (Son) tıklayın ve Gradle'ın projeyle senkronize edilmesine izin verin. Yeni oluşturulan modül dosyalarını kaynak denetimine eklemeniz de istenebilir.

İşlem tamamlandığında Android Studio Proje Görünümü, her platform için bir kaynak kümesiyle birlikte yeni paylaşılan modülü gösterir.

Yeni paylaşılan modülleri gösteren proje görünümü
Şekil 2. Yeni paylaşılan modülleri gösteren proje görünümü

Modül sihirbazı, yeni oluşturulan modülü mevcut modüllerden herhangi birine bağımlılık olarak eklemez. Bir sonraki adımda, paylaşılan modülü diğer Android bağımlılıklarına benzer şekilde mevcut Gradle modüllerinizden birine bağlamanız gerekir:

dependencies {
    ...
    implementation(project(":shared"))
}

Etkinleştirildikten sonra koda her zamanki gibi erişebilirsiniz. Android uygulamasından, androidMain veya commonMain'de bulunan koda erişebilirsiniz.

Kotlin Multiplatform proje yapısı hakkında daha fazla bilgi için Kotlin Multiplatform proje yapısının temel özellikleri başlıklı makaleyi inceleyin.

Paylaşılan modülü iOS uygulamasına ayarlama

Swift, Kotlin modüllerini doğrudan kullanamaz ve derlenmiş bir ikili program çerçevesinin oluşturulmasını gerektirir.

Android Studio'daki yeni modül şablonu, paylaşılan modülü iOS mimarilerinin her biri için bir çerçeve oluşturacak şekilde yapılandırır. Paylaşılan modülün build.gradle.kts dosyasında aşağıdaki kodu bulabilirsiniz:

val xcfName = "sharedKit"

iosX64 {
  binaries.framework {
    baseName = xcfName
  }
}

iosArm64 {
  binaries.framework {
    baseName = xcfName
  }
}

iosSimulatorArm64 {
  binaries.framework {
    baseName = xcfName
  }
}

Diğer mimari türlerini tanımlama hakkında bilgi için Hiyerarşik proje yapısı bölümüne bakın.

iOS projesinden paylaşılan koda erişimi etkinleştirmek için Swift kaynaklarını derlemeden önce Kotlin çerçevesini oluşturacak bir komut dosyası aşaması ekleyin:

  1. Android Studio'da dosyayı sağ tıklayın ve Şurada Aç ve İlişkili Uygulamada Aç'ı seçin. Bu işlem, iOS uygulamasını Xcode'da açar.
İlişkili uygulamada aç
Şekil 3. İlişkili uygulamada aç
  1. Proje gezgininde proje adını çift tıklayarak proje ayarlarını açın.
Xcode proje ayarları iletişim kutusu
Şekil 4. Xcode proje ayarları iletişim kutusu
  1. Bu aşamanın ne yaptığını daha iyi tanımlamak için varsayılan Run Script adını Compile Kotlin Framework olarak değiştirin. Düzenlemek için Run Script (Komut Dosyasını Çalıştır) başlığını çift tıklayın.
  2. Derleme aşamasını genişletin ve Shell (Kabuk) metin alanına aşağıdaki komut dosyası kodunu girin:
Yeni bir komut dosyası çalıştırma derleme aşaması ekleme
Şekil 5. Run script build phase
  1. Run Script (Komut Dosyasını Çalıştır) aşamasını Compile Sources (Kaynakları Derle) aşamasından önceye sürükleyin.

    Kaynakları derlemeden önce komut dosyası derleme aşamasını çalıştırın
    Şekil 6. Kaynakları derlemeden önce komut dosyası derleme aşamasını çalıştır

  2. ⌘B tuşlarına basarak veya Product (Ürün) menüsüne gidip Build'i (Derle) seçerek projeyi Xcode'da derleyin.

Derleme başarılı olduğunda aşağıdaki simgeyi görürsünüz.

Xcode'da gösterilen "Build successful" (Derleme başarılı) mesajı
Şekil 7. Derleme başarılı

iOS uygulamasında paylaşılan koda erişme

iOS uygulamasının paylaşılan modüldeki koda başarıyla erişebildiğini doğrulamak için aşağıdaki adımları uygulayın:

  1. iOS projesinde, ContentView.swift dosyasını şu konumda açın: Sources/View/ContentView.swift
  2. Dosyanın en üstüne import sharedKit ifadesini ekleyin.
  3. Metin görünümünü, görüntülenen dizede Platform_iosKt.platform() bilgisini içerecek şekilde aşağıdaki gibi değiştirin:

Bu güncelleme, uygulamanın paylaşılan modülden platform() işlevini çağırıp çağıramayacağını kontrol eder. Bu işlev, iOS platformunda çalışırken "iOS" değerini döndürmelidir.

iOS uygulamasını çalıştıran Xcode simülatörü
Şekil 8. iOS uygulamasını çalıştıran Xcode simülatörü

Ek Kaynaklar