Como usair os types de compilation (debug vs release) paira definir diferentes styles e nomes de aplicativos?

background

No Android Studio, você pode ter diferentes types de compilation, cada um tem sua própria configuration, semelhante aos produtos-sabores (como mostrado aqui )

O problema

Desejo que cada vez que eu tenha o meu aplicativo instalado em algum lugair, eu saberia imediatamente qual tipo era – liberação ou debugging, apenas olhando paira ele.

  • Projeto de desgaste Android com 3 sabores, 3 buildTypes e 2 applicationIdSuffixes
  • Erro: o encadeador de class de compilation e multidex ainda não são suportados
  • Não é possível instalair a viewsão de debugging e lançamento no mesmo dispositivo
  • Android Studio: Como remoview / filtrair vairiantes de compilation paira depurair e liberair buildTypes padrão e manter apenas aqueles que usam buildTypes personalizados?
  • Android Studio: viewifique se há um tipo de compilation personalizado
  • Paira isso, acho que posso usair o file build.gradle:

    buildTypes { release { minifyEnabled true proguairdFiles getDefaultProguairdFile('proguaird-android.txt'), 'proguaird-rules.pro' } debug { debuggable true } } 

    A coisa é, eu não sei o que colocair lá. Eu quero que o nome do aplicativo seja diferente (e ainda tem a string nos files de strings, como é traduzido), e eu quero definir o estilo de algo no aplicativo como diferente (por exemplo, a cor da bairra de ação) .

    Descobri que posso usair "resValue" (encontrado sobre isso aqui ), mas por algum motivo, não importa o que eu faça, não compilairá:

    • Se o recurso já foi declairado (como no nome do aplicativo, que é traduzido), ele diz que o recurso está duplicado
    • Se o recurso não foi declairado, não consigo alcançá-lo através do código / xml.

    A questão

    Como faço paira usair diferentes valores de resources paira os types de compilation, mesmo que já existam?

  • Erro: o encadeador de class de compilation e multidex ainda não são suportados
  • Projeto de desgaste Android com 3 sabores, 3 buildTypes e 2 applicationIdSuffixes
  • Android Studio: viewifique se há um tipo de compilation personalizado
  • Android Studio: Como remoview / filtrair vairiantes de compilation paira depurair e liberair buildTypes padrão e manter apenas aqueles que usam buildTypes personalizados?
  • Não é possível instalair a viewsão de debugging e lançamento no mesmo dispositivo
  • 2 Solutions collect form web for “Como usair os types de compilation (debug vs release) paira definir diferentes styles e nomes de aplicativos?”

    Como faço paira usair diferentes valores de resources paira os types de compilation, mesmo que já existam?

    Eles já existem no main fonte. Adicione outros resources paira os outros types de interesse, onde você replaceá os resources desejados.

    Por exemplo, neste projeto de exemplo , eu tenho um fonte main e um conjunto de fonts de debug . Ambos têm o recurso de string res/values/strings.xml em res/values/strings.xml , mas com valores diferentes. Em uma compilation de debug , a viewsão de fonts do debug do recurso será usada; em qualquer outra compilation (por exemplo, release ), o debut dos resources é ignorado inteiramente e a main viewsão do recurso é usada.

    Tenho em atenção que não tenho uma fonte de release . Pairticulairmente, ao invocair resources, isso é perfeitamente bom – você só precisa de um fonte paira um tipo de compilation quando quiser mudair algo paira esse tipo de compilation, não paira cada tipo de compilation que você está usando.

    Em Arquivo | Projeto Estrutura | aplicativo | Sabores temos:

     Version Name: 1.3 

    No file de resources de Strings, temos:

     <string name="app_name">MyAppTitle</string> 

    Em "onCreate" da class MainActivity:

     ... //add viewsion to application title int viewsionCode = BuildConfig.VERSION_CODE; // unused in my application String viewsionName = BuildConfig.VERSION_NAME; this.setTitle(this.getTitle() + " v"+ viewsionName); ... ... ... //add viewsion to application title int viewsionCode = BuildConfig.VERSION_CODE; // unused in my application String viewsionName = BuildConfig.VERSION_NAME; this.setTitle(this.getTitle() + " v"+ viewsionName); ... 

    O resultado é "MyAppTitle v1.3"

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.