Qual sabor do produto o Android Studio cria por padrão no build.gradle?


160

Temos um projeto Android que usa o novo sistema de compilação Gradle e usamos o Android Studio como uma ferramenta de desenvolvimento. Quando há vários tipos de produtos especificados build.gradle, percebemos que o Android Studio cria o primeiro especificado em ordem alfabética. Existe uma maneira de dizer ao Android Studio para criar e testar apenas um sabor de produto específico durante o desenvolvimento?

Respostas:


334

No canto inferior esquerdo da janela do Studio, há uma visualização ancorada chamada "Build Variants".

Abra-o e escolha a variante em que você deseja trabalhar. Isso afetará qual variante é criada, mas também as pastas de origem ativadas, o que impulsionará a conclusão nos editores de código e recursos.


15
Legal. Existe uma maneira de personalizar qual prefere na importação inicial?
21413 Joe

3
Acho que não. Posso perguntar ao engenheiro quem fez isso, se podemos adicionar isso. Mas é provável que seja diferente por projeto, se você tiver sabores.
Xavier Ducrohet

34
As variantes são uma combinação de sabor (es) e tipos de construção. Você pode implantar apenas variantes. Você nunca pode criar um apk que seja apenas um sabor.
Xavier Ducrohet

5
Se você estiver interessado, você pode usar a linha de comando para criar a variante especificada: ./gradlew assemble <Flavor1> <Flavor2> <...> <BuildType>, por exemplo assembleGooglePlayRelease. E você pode criar e instalar no dispositivo ou emulador conectado usando: ./gradlew install <Flavor1> <Flavor2> <...> <BuildType>
Deepscorn

5
Mas com qual tipo de produto, o Android studio cria o aplicativo por padrão?
Malwinder Singh

20

Atualmente, parece não haver maneira de selecionar o sabor padrão. Há uma solicitação de recurso no Android Issue Tracker para isso:

https://code.google.com/p/android/issues/detail?id=64917

Você pode marcar / votar com estrela na solicitação, para que ela obtenha maior prioridade no backlog das ferramentas de desenvolvimento do Android.


3
esse recurso estará no Android Studio 3.5. NO gracejo - isto levou 5 anos para implementar !! (veja a data de criação do ticket)
Someone Somewhere

4

Sim, há um jeito:

android {
    productFlavors {
        foo {
            isDefault true
        }
    }
}

Caso contrário, as variantes com o tipo de compilação de depuração são favorecidas.

Foi adicionado no Android Studio 3.5, consulte solicitação de recurso :

"Incluído no Android Gradle Plugin 3.5.0-alpha08 e Android Studio 3.5 Canary 8 [3.5.0.7].

A heurística para projetos que usam AGP mais antigo e projetos sem configurações explícitas também foi atualizada para favorecer variantes com a depuração do tipo de compilação, conforme descrito na mensagem de confirmação ".


-1

Você pode especificar o comando run In Section Antes de iniciar o Gradle-sensitive Make

Você pode listar todas as tarefas de classificação gradlew tasks

insira a descrição da imagem aqui


Eu tentei isso e, embora certamente resulte em apenas um sabor, o Android Studio ainda lançará apenas a variante selecionada. Pior, se eu selecionar uma Atividade específica que não esteja na variante selecionada, recebo uma mensagem de erro confusa dizendo "a atividade deve ser exportada ou conter um filtro de intenção". O erro desaparece assim que eu mudo a seleção bariant da compilação.
Dagmar
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.