Nota: Resposta editada após a Resposta de Xavier
Estou tentando usar diferentes sabores de compilação para um mesmo projeto de aplicativo no Android Studio. No entanto, parece que estou tendo um momento terrível para configurá-lo para funcionar adequadamente.
Passos:
- Crie um novo projeto do Android Studio, chamado 'Teste'.
Abra build.gradle * e incluiu as seguintes linhas:
productFlavors { flavor1 { packageName 'com.android.studio.test.flavor1' } flavor2 { packageName 'com.android.studio.test.flavor2' } }
- Depois de reiniciar o Android Studio, agora vejo 4 variantes de compilação na seção Variantes de compilação. O que significa que fomos bem-sucedidos em configurar os sabores dos produtos até agora. **
Criou uma nova pasta de origem para flavor1 ; no entanto, não tenho certeza se estou fazendo da maneira certa. Aqui está como eu fiz isso:
- Lembre-se de que meu nome de pacote para este projeto é:
com.foo.test
- Clique com o botão direito do mouse na
src
pasta, para sabor1, eu realmente criei as pastas individuais no explorer, da maneira que a estrutura ésrc/flavor1/java/com/foo/test/MainActivity.java
. - O exemplo acima funcionou bem, já que a pasta 'java' está em azul , o que significa que o IDE sabe que é um diretório de origem ativo. Além disso, o pacote foi criado automaticamente. Apesar disso, estou recebendo um aviso para a classe duplicada encontrada. Veja a captura de tela aqui.
- Para o flavor2, tentei criar o pacote manualmente, mas a pasta 'src' para o flavor2 parece não estar em azul e, portanto, as opções são diferentes quando clicadas com o botão direito, e o 'Novo Pacote' não está disponível para eu usar. Veja a imagem aqui.
- Observe que, para o flavor1, também criei um diretório 'res', que fica azul, mas, apesar disso, não oferece a capacidade de criar um arquivo de recursos do Android ou um diretório de recursos do Andorid, caso eu queira usar diferentes reaparece para sabores diferentes.
- Lembre-se de que meu nome de pacote para este projeto é:
Estou fazendo algo errado? Ou eu estou esquecendo de alguma coisa? Entre em contato se precisar de mais informações.
* Meu projeto parece ter dois arquivos build.gradle. Um localizado na raiz da pasta do projeto (\ GradleTest), este está vazio. O segundo, localizado na raiz de uma subpasta de \ GradleTest, também denominada 'GradleTest' (GradleTest-GradleTest), é o que já tinha código quando aberto; portanto, esse é o que eu editei.
** Verifiquei as configurações do gradle e, aparentemente, a opção Usar importação automática já estava ativada. Apesar disso, fazer alterações no arquivo build.gradle não atualiza automaticamente as variantes de compilação. Nota: Eu também tentei usar o Build - Rebuild Project e / ou Build - Make Project, no-go. Ainda tenho que fechar o projeto e reabri-lo para que as alterações entrem em vigor.
applicationId
agora é o suporte em vez depackageName
.