Antwort

1

Sie können Dateien für Aromen angeben. Wenn ich Sie wäre, würde ich etwas tun: legen Sie eine Datei in die main/java/your/package Quelle, lassen Sie uns anrufen CustomClass.java. Es enthält etwa so:

public class CustomClass { 
    public static void myCustomMethod() { 
     //Do something here... 
    } 
} 

Danach können Sie einen Geschmack bestimmte Version dieser Klasse im Geschmack Ordnernamen (neben dem Hauptordner) erstellen können. setzen also eine CustomClass.java hier: your_flavor_name/java/your/package Und noch etwas anderes tun:

public class CustomClass { 
     public static void myCustomMethod() { 
      //Do something here for that specific flavor! 
     } 
    } 

Der Build wird die Dateien und nutzen die spezifisch diejenigen für Sie Geschmack, und verwenden Sie die Hauptversion, wenn kein Geschmack bestimmte Datei gefunden fusionieren . Sie können es für Zeichen und jede andere Datei (Assets, ...) verwenden.

Sie müssen nur einen neuen Geschmack danach erstellen. In Ihrem gradle fügen Sie diese:

productFlavors { 
     your_flavor_name { 
      applicationId "your.package" 
     } 
} 

Mehr Sachen hier: http://developer.android.com/tools/building/configuring-gradle.html

0

danke Ihnen für Ihre Antwort @GaborNovak

In der Tat, ich so etwas für gemeinsame Klasse gesucht:

if("flavor-name".equals(getApplicationContext().getPackageName())){ 
       myIntent.setClass(thisClass.this, nextClass.class); 
      } 
      else { 
       myIntent.setClass(thisClass.this, nextClass.class); 
      } 

Ich denke, es ist ein bisschen verwirrend. Wenn ich getApplicationContext.getpackageName schreibe -> wird die application_id des ausgewählten Flavors in BuildGlassle definiert. Wenn ich BuildConfig.APPLICATION_ID schreibe -> erhält es den Paketnamen. Gibt es jemanden, der diese Logik erklären kann? Ist das nicht verwirrend?

0

definieren zwei string.xml für die beiden product-flavors getrennt und eine Reihe von gemeinsamen Namen in jeder, zum Beispiel, fügen <string name="flavor">Flavor One</string> im string.xml 1. Geschmack und fügen <string name="flavor">Flavor Two</string> im string.xml der zweiten Geschmack. Rufen Sie jetzt in der Methode den Wert der Zeichenfolge flavor ab und fügen Sie entsprechende Codezeilen hinzu. Da für die beiden Flavors der String Flavor zwei verschiedene Werte hat.

0

erstellen Klasse in etwas() in productFlavor:

Haupt Gemeinsame Quelle:

main\java\com.exmaple.test\class.java - > something() 

Flavor1 Quelle:

flavor\java\com.exmaple.test\class.java - > something() 

Flavor2 Quelle:

flavor\java\com.exmaple.test\class.java - > something()