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.
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.