Nota: risposta modificata dopo la risposta di Xavier
Sto cercando di utilizzare diversi Build Flavours per uno stesso progetto applicativo in Android Studio. Tuttavia, mi sembra che abbia avuto un momento terribile configurandolo per funzionare in modo appropriato.
passi:
- Crea un nuovo progetto Android Studio, chiamato "Test".
Apri build.gradle * e ha aggiunto le seguenti righe:
productFlavors { flavor1 { packageName 'com.android.studio.test.flavor1' } flavor2 { packageName 'com.android.studio.test.flavor2' } }
- Dopo aver riavviato Android Studio, ora vedo 4 varianti di build nella sezione Build Variants. Ciò significa che finora siamo riusciti a creare i sapori del prodotto. **
Creata una nuova cartella di origine per flavour1 ; tuttavia, non sono sicuro di farlo nel modo giusto. Ecco come l'ho fatto:
- Tieni presente che il nome del mio pacchetto per questo progetto è:
com.foo.test
- Fare clic con il tasto destro sulla
src
cartella, per flavour1, ho effettivamente creato le singole cartelle in Explorer, in un modo che sia la strutturasrc/flavor1/java/com/foo/test/MainActivity.java
. - Quanto sopra ha funzionato bene, poiché la cartella 'java' è in blu , il che significa che l'IDE sa che è una directory di origine attiva. Inoltre, il pacchetto è stato creato automaticamente. Nonostante ciò, ricevo un avviso per la presenza di una classe duplicata.Vedi screenshot qui.
- Per flavour2, ho provato a creare il pacchetto manualmente, ma la cartella "src" per flavour2 non sembra essere in blu, e quindi le opzioni sono diverse quando si fa clic con il tasto destro del mouse e "Nuovo pacchetto" non è disponibile per me. Vedi l'immagine qui.
- Nota che per flavour1 ho anche creato una directory 'res', che diventa blu, ma nonostante ciò, non offre la possibilità di creare un file di risorse Android o una directory di risorse Andorid, nel caso volessi usare diversi Risoruce per sapori diversi.
- Tieni presente che il nome del mio pacchetto per questo progetto è:
Sto facendo qualcosa di sbagliato? Oppure mi sfugge qualcosa? Fammi sapere se hai bisogno di maggiori informazioni.
* Il mio progetto sembra avere due file build.gradle. Uno situato nella radice della cartella del progetto (\ GradleTest), questo è vuoto. Il secondo si trova sulla radice di una sottocartella di \ GradleTest, anche etichettata 'GradleTest' (GradleTest-GradleTest), questa è quella che aveva già il codice all'apertura; quindi, quello è quello che ho modificato.
** Ho controllato le impostazioni dei gradi e apparentemente Usa l'importazione automatica era già abilitato. Nonostante ciò, apportare modifiche al file build.gradle non aggiorna automaticamente le varianti di build. Nota: ho anche provato a utilizzare Build - Rebuild Project e / o Build - Make Project, no-go. Devo ancora chiudere il progetto e riaprire per rendere effettive le modifiche.
applicationId
ora è supportato anzichépackageName
.