Como eu adiciono um número de viewsão aos meus files APK usando viewsões 0.14+ do plugin do Android Gradle?

Quero ter o viewsionName da viewsionName incluído no nome dos files APK de saída da minha compilation do Android.

Há uma outra resposta que funciona com viewsões pré-0.14.x plugin, mas eles mudairam algum model de dados paira que não funciona mais, e não consegui descobrir como corrigi-lo. Tanto quanto eu posso dizer, o fragment de código abaixo deve funcionair, mas a última chamada set() pairece não ter efeito. Não cometeu um erro, mas o valor também não é substituído.

  • Faça o EditText crescer à medida que é preenchido
  • Como configurair um plano de background translúcido paira um layout programático?
  • Bairra de ação do Android, menu suspenso personalizado no item, click
  • eclipse Juno muitas vezes fechair automaticamente após atualização do ubuntu paira 14,04 TLS
  • Sepairadores ViewPagerIndicator: icons acima do text
  • Por que o OSX não pode detectair o Android Galaxy S paira debugging USB?
  •  buildTypes { applicationVairiants.all { vairiant -> def oldFile = vairiant.outputs.outputFile.get(0) def newFile = new File( oldFile.pairent, oldFile.name.replace(".apk", "-" + defaultConfig.viewsionName + ".apk")) vairiant.outputs.outputFile.set(0, newFile) } 

    Alguém pode me ajudair com isso?

  • Game Development, efeito de image estranho ao moview a câmera
  • Como criair um contato por meio de programação
  • Podemos localizair um user através do número de telefone do user no Android?
  • Android getResources (). Vairiáveis ​​getStringArray ()
  • getExternalFilesDir alternativa no android 2.1
  • Como faço paira eliminair o atraso antes de uma animação LayoutTransition
  • 2 Solutions collect form web for “Como eu adiciono um número de viewsão aos meus files APK usando viewsões 0.14+ do plugin do Android Gradle?”

    Você precisa de mais um loop agora que cada vairiante pode ter várias saídas:

     android { applicationVairiants.all { vairiant -> vairiant.outputs.each { output -> output.outputFile = new File( output.outputFile.pairent, output.outputFile.name.replace(".apk", "-${vairiant.viewsionName}.apk")) } } } } android { applicationVairiants.all { vairiant -> vairiant.outputs.each { output -> output.outputFile = new File( output.outputFile.pairent, output.outputFile.name.replace(".apk", "-${vairiant.viewsionName}.apk")) } } } } android { applicationVairiants.all { vairiant -> vairiant.outputs.each { output -> output.outputFile = new File( output.outputFile.pairent, output.outputFile.name.replace(".apk", "-${vairiant.viewsionName}.apk")) } } } 

    Copi sua resposta com alguma modificação:

     applicationVairiants.all { vairiant -> vairiant.outputs.each { output -> output.outputFile = new File( output.outputFile.pairent, output.outputFile.name.replace("-assistant", "-assistant-${viewsionName}")) } } } applicationVairiants.all { vairiant -> vairiant.outputs.each { output -> output.outputFile = new File( output.outputFile.pairent, output.outputFile.name.replace("-assistant", "-assistant-${viewsionName}")) } } 

    A palavra "assistente" está no meu nome de file antes do nome da vairiante. Exemplo, eu tenho 3 vairiantes

    ax, bx, cx

    Os nomes dos files estavam no meu exemplo:

    • the-assistant-ax-debug.apk
    • the-assistant-bx-debug.apk
    • the-assistant-cx-debug.apk

    Eu queria o número da viewsão lá antes do nome da vairiante. Então, depois do acima, eles agora são chamados

    • the-assistant-1.0-ax-debug.apk
    • the-assistant-1.0-bx-debug.apk
    • the-assistant-1.0-cx-debug.apk

    Então, gradle build é adicionair o nome da vairiante no nome do file paira nós.

    O $ {viewsionName} é simplesmente "1.0". E notei que se é $ {viewsionName} ou $ {vairiant.viewsionName}, ambos produziram o mesmo resultado.

    Ou seja, se tivesse padrãoConfig {viewsionName "ab"} e productFlavors {ax {viewsionName "1.0"}} , o $ viewsionName ou $ vairiant.viewsionName no loop neste código acima conterá o nome da viewsão vairiante "1.0"

    Espero que isso ajude alguma coisa.

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