Özellik modülleri, belirli özellikleri ve kaynakları uygulamanızın temel modülünden ayırıp uygulama paketinize eklemenize olanak tanır. Ardından, Android 5.0 (API düzeyi 21) veya sonraki sürümleri çalıştıran cihazların uygulamanızın özelliklerini ne zaman ve nasıl indireceğini kontrol etmek için dağıtım seçeneklerini özelleştirebilirsiniz.
Bu tür bir modülleştirmenin daha fazla çaba gerektirdiğini ve uygulamanızın mevcut kodunu yeniden düzenlemeniz gerekebileceğini unutmayın. Bu nedenle, uygulamanızın hangi özelliklerinin kullanıcılara isteğe bağlı olarak sunulmasının en faydalı olacağını dikkatlice değerlendirin.
Uygulamanızın davranışını değiştirmeden veya gelişmiş yayınlama seçeneklerini özelleştirmeden uygulama özelliklerini zaman içinde kademeli olarak modüler hale getirmek istiyorsanız yükleme sırasında yayınlama için yapılandırılmış özellik modülleri oluşturarak bunu yapabilirsiniz. Yani bir özelliği özellik modülü olarak modüler hale getirebilirsiniz ancak gelişmiş seçenekleri etkinleştiremezsiniz. Böylece özellik, kullanıcı uygulamanızı yüklediğinde kullanılabilir olur.
Ayrıca, yükleme sırasında yayınlanmak üzere yapılandırılan özellik modülleri, artık gerekli olmadıkları takdirde daha sonra kaldırılabilir. Bunun için çıkarılabilir olarak ayarlanmaları gerekir.
Bu bölümde, yükleme sırasında yayınlama için özellik modülünün nasıl oluşturulacağı açıklanmaktadır. Başlamadan önce Android Studio 3.5 veya sonraki bir sürümü ve Android Gradle eklentisi 3.5.0 veya sonraki bir sürümü kullandığınızdan emin olun.
Yükleme sırasında yayınlama için yeni bir modül yapılandırma
Yeni bir özellik modülü oluşturmanın en kolay yolu Android Studio 3.5 veya sonraki bir sürümü kullanmaktır. Özellik modülleri, temel uygulama modülüne doğal bir bağımlılığa sahip olduğundan bunları yalnızca mevcut uygulama projelerine ekleyebilirsiniz.
Android Studio'yu kullanarak uygulama projenize özellik modülü eklemek için aşağıdaki adımları uygulayın:
- Henüz yapmadıysanız uygulama projenizi IDE'de açın.
- Menü çubuğundan File > New > New Module'ü (Dosya > Yeni > Yeni Modül) seçin.
- Create New Module (Yeni Modül Oluştur) iletişim kutusunda Dynamic Feature Module'u (Dinamik Özellik Modülü) seçip Next'i (İleri) tıklayın.
- Configure your new module (Yeni modülünüzü yapılandırın) bölümünde aşağıdakileri tamamlayın:
- Açılır menüden uygulama projeniz için Base application module'ü (Temel uygulama modülü) seçin.
- Modül adı belirtin. IDE, Gradle ayarları dosyanızda modülü Gradle alt projesi olarak tanımlamak için bu adı kullanır. Uygulama paketinizi oluşturduğunuzda Gradle, özellik modülünün manifest dosyasında
<manifest split>özelliğini eklemek için alt proje adının son öğesini kullanır. - Modülün paket adını belirtin. Android Studio varsayılan olarak, temel modülün kök paket adını ve önceki adımda belirttiğiniz modül adını birleştiren bir paket adı önerir.
- Modülün desteklemesini istediğiniz Minimum API düzeyini seçin. Bu değer, temel modülün değeriyle eşleşmelidir.
- İleri'yi tıklayın.
Modül İndirme Seçenekleri bölümünde aşağıdakileri yapın:
En fazla 50 karakter kullanarak Modül başlığı'nı belirtin. Uygulamanızın temel modülü, modül başlığını çevirebileceğiniz bir dize kaynağı olarak içermelidir. Android Studio'yu kullanarak modülü oluştururken IDE, dize kaynağını sizin için temel modüle ekler ve özellik modülünün manifest dosyasına aşağıdaki girişi ekler:
<dist:module ... dist:title="@string/feature_title"> </dist:module>Not: Yayınlanan derlemeleriniz için kaynak küçültmeyi etkinleştirirseniz küçültücü, temel modülünüzdeki kodun referans vermediği modül başlığı dize kaynağını kaldırabilir. Dize kaynağının derleme çıkışında kalmasını sağlamak için kaynağı özel kaynak saklama dosyasına ekleyin.
Yükleme sırasında dahil etme bölümündeki açılır menüden Modülü yükleme sırasında dahil et'i seçin. Android Studio, seçiminizi yansıtmak için modülün manifest dosyasına aşağıdakileri ekler:
<dist:module ... > <dist:delivery> <dist:install-time /> </dist:delivery> </dist:module>Uygulama yüklendikten sonra indirebileceğiniz bir özellik modülünü nasıl oluşturacağınızı öğrenmek için isteğe bağlı dağıtımı yapılandırma başlıklı makaleyi okuyun.
Bu modülün Android 4.4 (API düzeyi 20) ve önceki sürümleri çalıştıran cihazlarda kullanılabilmesini ve çoklu APK'lara dahil edilmesini istiyorsanız Birleştirme'nin yanındaki kutuyu işaretleyin. Bu nedenle, bölünmüş APK'ların indirilmesini ve yüklenmesini desteklemeyen cihazlarda bu özelliği kullanmayabilirsiniz. Android Studio, seçiminizi yansıtmak için modülün manifest dosyasına aşağıdakileri ekler:
<dist:module ...> <dist:fusing dist:include="true | false" /> </dist:module>
Son'u tıklayın.
Android Studio, modülünüzü oluşturmayı tamamladıktan sonra Proje bölmesinden (menü çubuğundan Görünüm > Araç Pencereleri > Proje'yi seçin) içeriğini kendiniz inceleyin. Varsayılan kod, kaynaklar ve organizasyon, standart uygulama modülündekilere benzer olmalıdır.
Yükleme sırasında eklenen modülleri kaldırılabilir yapma
Yükleme sırasında yayınlama için özellik modülleri oluşturmak faydalı olabilir. Bu modüller, artık gerekli olmadığında kaldırılabilir. Örneğin, uygulamanızın yüklü boyutunu küçültmek için eğitim veya oryantasyon için gereken içeriği modüler hale getirebilir ve kullanıcı uygulamanızı kullanmaya hazır olduktan sonra Play Core API'yi kullanarak özellik modülünü kaldırabilirsiniz.
Yükleme sırasında eklenen modüller varsayılan olarak kaldırılamaz. Bir modülü kaldırılabilir olarak işaretlemek ve kaldırılmasına izin vermek için removable etiketini ekleyin ve değerini true olarak ayarlayın:
<dist:module ... >
<dist:delivery>
<dist:install-time>
<dist:removable dist:value="true"/>
</dist:install-time>
</dist:delivery>
</dist:module>