2014-06-26 28 views
11

için Manifest tutucuları ben Gradle + Android Build tezahür tutucuların yeni olasılığı hakkında çok sinirli değilim.Android - Farklı yapı tipleri

productFlavors { 
    free { 
    } 
    pro { 
     manifestPlaceholders = [ activityLabel:"proName" ] 
    } 
} 

Ama ürün lezzetleri inşa tipine bağlı ve tek yer tutucu istiyorum: Ben böyle kendi tutucuları belirtebilirsiniz gradle belgelerinde tespit ettik. Yer tutucu spesifikasyonunu yapı tipi ayarlarına eklediğimde hiçbir etkisi olmaz. Bunu nasıl başaracağını biliyor musun? Çünkü aptalca bana göre üç yapı tipi ve üç çeşidi var.

build.gradle: Teşekkürler

+0

Ben davanız hakkında emin değilim ama belki bu bağlantı yardımcı olacak? http://stackoverflow.com/questions/10887837/how-to-specify-spring-propertyplaceholderconfig-values-in-gradle-build –

+0

doğrudan çalışmak için bu alamadım ve çok test etmek için zaman yoktu bu yana farklı şekillerde nihayet farklı yapı tipi klasörlerde benim Manifest kopyalayıp I (benim durumumda bu Google Maps API anahtarı oldu) değiştirmek istediğini hariç (neredeyse) her şeyi çıkarmaya karar verdiler. İstediğimi koruduğumdan emin olmak için "araçlar: değiştir" yöntemini kullandım. Değil iyi çözüm ama bu geçici bir çözüm olduğunu tespit olacak, – Kasium

+1

bir hata gibi görünüyor ... benim için çalıştı: https://code.google.com/p/android/issues/detail?can=2&start= 0 & num = 100 & q = & colspec = kimlik% 20Type% 20Status% 20Owner% 20Summary% 20Stars & GroupBy = & sort = & id = 72829 – OriolJ

cevap

7

Bu farklı ürün tatlar için benim çözüm

productFlavors { 
normal { 
    applicationId "mobi.cwiklinski.urc" 
    buildConfigField "String", "providerAuthority", "\"mobi.cwiklinski.urc.provider\"" 
    resValue "string", "authorities", "mobi.cwiklinski.urc.provider" 
} 
adfree { 
    applicationId "mobi.cwiklinski.urc.adfree" 
    buildConfigField "String", "providerAuthority", "\"mobi.cwiklinski.urc.adfree.provider\"" 
    resValue "string", "authorities", "mobi.cwiklinski.urc.adfree.provider" 
} 

}

AndroidManifest.xml

Ve hepsi bu - Farklı içinde ürün aromaları farklı kaynak değeri elde edeceksiniz. gradle eklentisi 0.13.0 zaten çalışıyor ile bugünden itibaren

+0

Teşekkürler cevap için ama ben bir şekilde bu kullanmak eğer .. ben soruyordu benim soru ile ilgisi yok yapı tiplerinde değil tatlar – Billda

+0

Bu iki şey bağlayabilirsiniz - dört APK'larını alacak ve almak istediğiniz ikisini seçmek ... Ben resValue bilmiyordum –

+0

, gerçekten yararlı ve 'yerine kullanılabilir onları işe alamadım manifestPlaceholders '. – tasomaniac