2014-06-12 14 views
19

Google, Android Gradle eklentisinin 0.11 sürümünü yayınladı. Biz packageName ve packageNameSuffix ayarlarını kaldırılmış ettik ve applicationID ve applicationIdSuffix onları yeniden adlandırılmış olmasıdır 0.11 kullanıcı göze çarpan değişikliklerdenbuild.gradle'daki yeni applicationId nasıl çalışır?

Bir:

sürüm notları

aşağıdakileri içerir. Bunun amacı, 'u bu uygulama kimliğinin, manifoldunuzdaki bildirimlerinden ve özellikle R sınıfı ve BuildConfig sınıfından ve uygulamanızın içindeki tüm uygulama sınıflarından ( ) yeniden adlandırabileceğini açıkça belirtmektir. ve serbestçe yeniden; Sadece aynı applicationId tutmanız gerekir. Tam olarak ne demek

: Eğer build.gradle dosyasını açarsanız, tiftik kaldırılmış bu aramaları vurgulama ve güncellemenin quickfixes ideal bir yer. Oluşturma komut dosyasındaki paket sözcüğü, bildiride bulunandan nasıl ayrılır? AndroidManifest.xml dosyasında belirtilen tek bir uygulamayı aygıtta tanımlı olarak tanımlayın.

+0

Zaten dekuplaj edilmişti, betikteki bu manifestodaki referansa başvurmuyor. Bu inşa komut dosyasında yeniden adlandırılmasıyla bu daha net hale gelmelidir – Tobrun

+1

Yani uygulama derledikten sonra buildscript içinde biten olan nerede? – Janusz

+0

Resmi belgelerde ilgili okumalar: [ApplicationId versus PackageName] (http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename) – Jonik

cevap

42

package. Mülkün kendisinin yanıltıcı olması, yanlızca java sınıflarının package özelliğini yeniden adlandırmayı gerektirebileceğini düşünebilir. package özelliği, javadoc'ta açıklanan herhangi bir sınırlama sınırlaması olabilir.

Bu karışıklık nedeniyle, Google çocuklar package'u applicationId olarak değiştirmeye karar verdiler. Ancak, bu değişiklik yalnızca gradle dosyasına uygulanır. Bildiri özellik adının değiştirilmesi, önceki sürümlerle uyumluluğu bozar, bu benim tahminimdir.

APK'nızı oluşturduğunuzda, gradle, manifest'in package özellik değerinin, grad komut dosyasında belirtilen applicationId değeriyle değiştirir.

Eğer bunu kendiniz test etmek isterseniz. Sadece manifestinizin package ve APK'yı oluşturduğunuz farklı bir değerle applicationId'u ayarlayın. Daha sonra /build/intermediates/manifests/dev/debug klasörüne gidin ve AndroidManifest.xml dosyasını açın. Orada applicationId değerini bulacaksınız.

+0

Bu açık. Uygulama, uygulama bir apk olarak paketlendikten sonra benim manifest dosyalarında değilse, applicationId dosyasının nerede saklandığıdır? – Janusz

+0

ApplicationId'in saklandığı yeri de dahil olmak üzere tüm yanıtı güncelledim. –

+0

Varsayılan applicationId öğesinin okunmasından hangi görev sorumludur? –

İlgili konular