Kitaplığınızı kullanıma hazırlama

Bu sayfada, web sitesi ayarlarınızı hazırlamak için gereken özellikler Yayın için Android kitaplığı projesi Android Gradle eklentisini (AGP) kullanarak. Bu özelliklerden bazılarını oluşturma işleminin en başında aşağıdaki rehberleri inceleyerek sitenizin Ayarlar'da devre dışı bırakabilirsiniz.

Ad alanı seçin

Android kitaplıklarının benzersiz bir ad alanı tanımlaması gerekir. R sınıfını kullanır. Bu ad alanı, kullanıcılar normal şekilde içe aktarırken karışıklık olmaması için kitaplığın kök sınıf paketini sınıflardan ve R sınıfından.

AGP 7.0'dan başlayarak, ad alanı aşağıdaki kod örneğinde gösterildiği gibi, uygulamanın build.gradle dosyasında:

Eski

android {
  namespace = 'com.example.library'
}

Kotlin

android {
  namespace = "com.example.library"
}

Ad alanı, kitaplığın geliştiricilere yönelik bir mülküdür. değil kullanılarak ayarlanan uygulama kimliğiyle ilişkilidir. applicationId

AGP'nin önceki sürümlerinde hem applicationId özelliği ( uygulamasında) ve namespace özelliği (kitaplık için) manifest'in package kafa karışıklığına yol açtı.

minSdkVersion değeri seçin

Şunun için bir minSdkVersion seçilir: kitaplığınızın yayınlanması açısından önemli bir etkendir. İlgili içeriği oluşturmak için kullanılan minSdkVersion, kodunuzun bulunabileceği minimum Android sürümünü yansıtmalıdır destek.

minSdkVersion seçerken aşağıdaki noktalara dikkat edin:

  • Düşük bir minSdkVersion seçilmesi genellikle anahtar kelimelerin daha geniş ölçekte dağıtılmasına dokunun.

    Bir kitaplığın kodu genellikle uygulama buna açıkça çağrıda bulunur. Bir uygulama, Android'in şu özelliklere sahip bir sürümünde çalışmaya devam edebilir: bir kitaplık bağımlılığının gerektirdiğinden daha düşüktür (kitaplık çağrı yapmadan önce çalışma zamanı kontrolleri yaparak temel uygulama işlevi açısından son derece önemlidir. emin olmanız gerekir. Bu nedenle, kitaplığınızın minSdkVersion değerini uygulamalara yerleştirilebilir ve daha fazla kullanıcıya ulaşabilmek için yardımcı olur.

  • Yüksek bir minSdkVersion seçmek, uygulamaların dokunun.

    AGP'de manifest dosyalarını birleştiren bir adım olan manifest birleştirme bağımlılığından dolayı, uygulama ve oyun uygulamaya kıyasla daha yüksek minSdkVersion değerine sahip.

  • Yüksek bir minSdkVersion seçildiğinde uygulama geliştiriciler, bu değeri devre dışı bırakmalarını isteyebilir manifest birleşme güvenlik kontrollerini gerçekleştirir. Bu durum, derleme işleminin sonraki aşamalarında sorunlara yol açar.

    Manifest birleşmesi, uygulama projelerinin uygulamanın kendisinden daha yüksek minSdkVersion değerine sahip kitaplıklar, uygulama geliştiriciler derlemeyi en aza indirmek için manifest birleştirme işleminin güvenlik kontrollerini devre dışı bırakabilir hatalar. Ancak bu, aşağı akış yönünde gerçek uyumsuzluk sorunları riskiyle karşı karşıya kalır.

  • Yüksek bir minSdkVersion değerinin seçilmesi, bir kütüphanenin manifest dosyası bir yayın alıcısını veya başka bir mekanizmayı kodu otomatik olarak tetiklenir.

    Bu durumlarda yüksek bir minSdkVersion seçilmesi kodun çalıştırılabilmesini sağlar. Alternatif olarak, uygulamanın kaydolabilmesi için otomatik davranışı devre dışı bırakabilirsiniz kitaplığı yürütme aşamasına geçelim.

Uygulamalarda yerleştirmeye izin vermek için RequiresApi ek açıklaması kitaplığını kullanarak, arayanlara çalışma zamanı kontrolleri yapmaları gerektiğini belirtir. Android Lint, denetimleri için RequiresApi bilgilerini kullanır. Daha fazla kaynak için API kodunuzu ve API'lerinizi iyileştirmek için ek açıklamaları kullanma hakkında daha fazla bilgi için Kodu iyileştirme inceleme.

AAR meta verilerini ayarlama

Bir Android kitaplığı formda paketlenir bir Android Arşivi (AAR) dosyası olabilir. AAR meta verileri, AGP, kitaplıkları tüketir. Kitaplığınız uyumlu olmayan bir yapılandırıldığında ve AAR meta verileri ayarlandığında kullanıcılara bir hatayla mesajı gönderebilirsiniz.

minCompileSdk değeri seçin

4.1 sürümünden itibaren AGP, minCompileSdk. Bu, hedef ROAS'ın compileSdk kullanabileceğiniz yöntemlerden bahsedeceğiz. Kitaplığınızda manifest girişleri veya kullanan yeni platform özelliklerinden yararlanıyorsanız bu değeri ayarlayın.

minCompileSdk değeri defaultConfig{}, Modül düzeyindeki build.gradle üzerinde productFlavors{} ve buildTypes{} blok dosya:

Eski

android {
  defaultConfig {
    aarMetadata {
      minCompileSdk = 29
    }
  }
  productFlavors {
    foo {
      ...
      aarMetadata {
        minCompileSdk = 30
      }
    }
  }
}

Kotlin

android {
  defaultConfig {
    aarMetadata {
      minCompileSdk = 29
    }
  }
  productFlavors {
    register("foo") {
      ...
      aarMetadata {
        minCompileSdk = 30
      }
    }
  }
}

minCompileSdk öğesini birden fazla yerde ayarlarsanız Gradle ayarlara öncelik verir konumları aşağıda belirtilen şekilde bulabilirsiniz:

  1. buildTypes{}

  2. productFlavors{}

  3. defaultConfig{}

Yukarıdaki örnekte, minCompileSdk hem defaultConfig{} ve productFlavors{}, productFlavors{} öncelikli ve minCompileSdk 30 olarak ayarlandı.

Gradle hakkında daha fazla bilgi edinmek için kod ve kaynakları birleştirirken ayarlara öncelik verir. Kaynak ile derleme gruplar.

Test armatürlerini etkinleştir

Test armatürleri yaygın olarak test edilmekte olan kodu ayarlamak veya belirli bir bir bileşenidir. AGP, 7.1 sürümünden itibaren kitaplık için test armatürleri oluşturabilir projelere ek olarak uygulama ve dinamik özellik projeleri de kullanabilirsiniz.

Başkalarının kullanması için bir kitaplık yayınlarken test oluşturmayı düşünün armatürleri görebilirsiniz. Test armatürleri modül düzeyinde etkinleştirilebilir build.gradle dosyası:

Eski

android {
  testFixtures {
    enable = true
  }
}

Kotlin

android {
  testFixtures {
    enable = true
  }
}

Test armatürlerini etkinleştirdiğinizde Gradle otomatik olarak bir Test fikstürlerini yazabileceğiniz src/testFixtures kaynak kümesi.

Daha fazla bilgi için Gradle’ın test cihazları hakkında daha fazla bilgi edinin.