2014-09-09 10 views
6

Come è possibile eseguire l'override di resConfigs per tipi di build? Ho letto che i sapori lo permetterebbero, ma non li uso. Voglio solo che il mio debug costruisca un altro set di languges supportati.resConfigs per tipo di build

Ecco cosa ho provato:

buildTypes { 
    debug { 
     resConfigs "de", "en" // allow also german in debug builds 
    } 
    release { 
     signingConfig signingConfigs.release 
     resConfigs "en"  // english only releases 
    } 
} 

Qualsiasi idea di semplice come posso raggiungere questo obiettivo?

+0

Questo ticket potrebbe essere correlato: https://code.google.com/p/android/issues/detail?id=66133 – rekire

+0

resConfigs non è in alcun modo supportato per le compilazioni di debug, quindi è sufficiente lasciare resConfigs "en" nella versione di rilascio. raggiungere ciò che vuoi – Nilzor

+1

Non è sbagliato @Nilzor questo vale anche per le versioni di debug. Ho dovuto aggiungere "" en-RXA "," ar-RXB "' per testare le pseudo localizzazioni. – rekire

risposta

5

Per qualche ragione i singoli file di configurazione buildtype non supporta il comando resConfigs come fai notare, ma defaultConfig fa e quindi è possibile utilizzare questo trucco per manipolarlo per tipo di costruzione, anche senza sapori configurati:

android { 
    defaultConfig { 
     resConfigs "en" 
    } 
    applicationVariants.all { variant -> 
     if (variant.buildType.name.equals("debug")) { 
      variant.mergedFlavor.resourceConfigurations.add("de") 
     } 
    } 
} 
+0

Man perché non ho pensato di manipolarlo su richiesta. Idea brillante! – rekire

+0

Ho appena postato questa risposta a una domanda correlata. Potrebbe essere utile per le persone che trovano prima questa domanda/risposta: http://stackoverflow.com/questions/42259173/android-how-to-reset-resconfigs-for-release-variant/42259174#42259174 – AutonomousApps

Problemi correlati