Uygulama modülünü yapılandırma

Bu sayfada, modül düzeyindeki build.gradle.kts içindeki faydalı uygulama ayarları açıklanmaktadır. dosyası olarak kaydedebilirsiniz. Ayrıca, build.gradle.kts dosyasını nasıl kullanacağınızı öğrenin:

  • Farklı derleme yapılandırmaları için uygulama kimliğini değiştirin.
  • Uygulama kimliğinden bağımsız olarak ad alanını güvenli şekilde ayarlayın.

Uygulama kimliğini ayarlama

Her Android uygulamasının Java'ya benzeyen benzersiz bir uygulama kimliği vardır veya Kotlin paketi (com.example.uygulamam gibi) bir ad kullanın. Bu kimlik, cihaz ve Google Play Store'da bulabilirsiniz.

Uygulama kimliğiniz, modülünüzdeki applicationId özelliğiyle tanımlanır. build.gradle.kts dosyası olarak ayarlayın. applicationId değerini güncelleyin com.example.myapp yerine uygulamanın kimliği:

Kotlin

android {
    defaultConfig {
        applicationId = "com.example.myapp"
        minSdk = 15
        targetSdk = 24
        versionCode = 1
        versionName = "1.0"
    }
    ...
}

Eski

android {
    defaultConfig {
        applicationId "com.example.myapp"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    ...
}

Uygulama kimliği geleneksel Kotlin veya Java paketi gibi görünse de uygulama kimliğinin adlandırma kurallarını çünkü bunlar daha kısıtlayıcıdır:

  • En az iki segment (bir veya daha fazla nokta) içermelidir.
  • Her segment bir harfle başlamalıdır.
  • Tüm karakterler alfanümerik veya alt çizgi [a-zA-Z0-9_] olmalıdır.

Android'de yeni bir proje oluşturduğunuzda Studio'da, applicationId seçtiğiniz paket adı otomatik olarak atanır. Siz iki özelliği de birbirinden bağımsız olarak açıp kapatabilir ancak önerilmez.

Uygulama kimliğini ayarlarken aşağıdakileri yapmanız önerilir:

  • Uygulama kimliğini ad alanıyla aynı tutun. Proje yönetimi iki özellik biraz kafa karıştırıcı olabilir ama bunları aynı tutarsanız endişelenmeniz gereken bir şey yok.
  • Uygulamanızı yayınladıktan sonra uygulama kimliğini değiştirmeyin. Onu değiştirirseniz, Google Play Store, bir sonraki yüklemeyi yeni bir uygulama olarak değerlendirir.
  • Uygulama kimliğini açıkça tanımlayın. Uygulama kimliği açıkça belirtilmezse applicationId özelliği kullanılarak tanımlandığında, otomatik olarak aynı değerini ad alanı olarak tanımlar. Bu, ad alanının değiştirilmesi, genellikle istemediğiniz bir şey olur.
ziyaret edin.

Test için uygulama kimliğini değiştir

Varsayılan olarak derleme araçları, araç testi Belirtilen derleme varyantının uygulama kimliğini kullanan APK .test. Örneğin, com.example.myapp.free derleme varyantı uygulama kimliğine sahipse com.example.myapp.free.test.

Gerekli olmasa da, uygulama kimliğini defaultConfig veyatestApplicationId productFlavor blok.

Ad alanını belirleme

Her Android modülünün Kotlin veya Java olarak kullanılan bir ad alanı vardır şunun paket adı: oluşturulan R ve BuildConfig sınıfları.

Ad alanınız, modülünüzün sekmesindeki namespace özelliğiyle tanımlanır. build.gradle.kts dosyası (ör. aşağıdaki kod snippet'inde gösterildiği gibi) namespace ilk başta seçtiğiniz paket adına ayarlanır, projenizi oluşturun.

Kotlin

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

Eski

android {
    namespace "com.example.myapp"
    ...
}

Uygulamanızı son uygulama paketi (APK) içinde oluştururken Android, derleme araçları, uygulamanızın oluşturduğu R için ad alanı olarak ad alanını kullanır erişmek için kullanılan sınıfa uygulama kaynaklarına bakın. Örneğin, önceki derleme dosyasında R sınıfı com.example.myapp.R.

build.gradle.kts dosyasının namespace özelliği için belirlediğiniz ad her zaman projenizin temel paket adıyla eşleşmelidir. etkinlikler ve diğer uygulama kodları. Başka alt paketleri de ancak bu dosyalar şunu kullanarak R sınıfını içe aktarmalıdır: ad alanını namespace özelliğinden alır.

Daha basit bir iş akışı için ad alanınızı varsayılan ayardır.

Ad alanını değiştirme

Çoğu durumda, aynıdır. Ancak şu adresteki ad alanını değiştirmeniz gerekebilir: kodunuzu yeniden düzenliyorsanız veya ad alanı çakışmalarını önlemek için bir noktada sorun.

Böyle durumlarda namespace özelliği,build.gradle.kts uygulama kimliği. Bunu yapmadan önce uygulama kimliğinizin açıkça tanımlanır ve ad alanının değiştirilmesi, uygulama kimliği. Ad alanının uygulama kimliğini öğrenmek için Uygulama kimliğini ayarlama bölümüne bakın.

namespace için farklı adlarınız varsa ve Gradle applicationId, geliştirme araçları uygulama kimliğini, derlemenin sonunda uygulamanızın son manifest dosyasına ekleyin. Yani AndroidManifest.xml dosyanızı bir derlemenin ardından incelerseniz package özelliği uygulama kimliği. Birleştirilmiş manifestin package özelliği, Google Play Store ve Android platformu, uygulamanızı tanımlamak için kullanılır.

Test için ad alanını değiştirme

androidTest ve test kaynak grupları için varsayılan ad alanı ana ad alanı, sonuna .test eklenir. Örneğin, build.gradle dosyasındaki namespace özelliği com.example.myapp, test ad alanı varsayılan olarak com.example.myapp.test. Test amacıyla ad alanını değiştirmek için testNamespace özelliğini ekleyin:

Kotlin

android {
    namespace = "com.example.myapp"
    testNamespace = "com.example.mytestapp"
    ...
}

Eski

android {
    namespace "com.example.myapp"
    testNamespace "com.example.mytestapp"
    ...
}

Dikkat: testNamespace ve altındaki namespace aynı değere, aksi takdirde ad alanına zaman alabilir.

Test hakkında daha fazla bilgi edinmek için Android'de uygulamaları test etme konusuna bakın.