2017-11-13 281 views
9

Bir kitaplık projesi için build.gradle dosyasındaki manifestPlaceholder etiketini kullanıyorum.manifestPlaceholder için varsayılan değer nasıl ayarlanır?

Kitaplığı kullanan kişi uygun şekilde tanımlamalıdır. Kütüphanede

AndroidManifest.xml:

 manifestPlaceholders = [libraryId: "example"] 

kütüphane tarafında manifestPlaceholder etiketi etkisiz hale getirmenin bir seçenek var mı: Uygulama tarafında

<meta-data 
     android:name="library_id" 
     android:value="${libraryId}"/> 

Build.gradle dosya?

Sadece bir varsayılan değer tanımlamak istiyorum ve kullanıcı değiştirmek istediğinde bir değer sağlamakta özgür olmalı.

+1

Eğer 'in' manifestPlaceholders' koymak çalıştı mı Manifest kütüphanesinde bulunan your-outer-element içinde bulunan library_id meta verilerini değiştirecektir defaultConfig' kütüphanesinin build.gradle? Benim için çalışıyor – DeKaNszn

+1

Bundan emin misin? Kütüphanenin build.gradle'sine bir manifestHolder koydum ve uygulama tarafında yer alan kişi öğeyi geçersiz kılmaz. – StillHopeForMe

cevap

1

İstenen etkiyi almak için Manifest Merge stratejisini kullanmayı denediniz mi? Uygu

Eğer

<your-outer-element 
    tools:node="replace"> 
     <meta-data 
      android:name="library_id" 
      android:value="YOUR_APP_ID"/> 
</your-outer-element> 

gibi bir şey ekleyebilir tezahür Ve bu