2016-07-07 12 views
4

Ich muss 2 Versionen meines Projekts (Produktion und Entwicklung) installieren. Ich brauche 2 Apps. Ich versuche es zu erreichen, indem ich Flavors verwende, aber wenn ich die Apk unterzeichne, wird immer die gleiche App mit demselben Paketnamen (com.company.project) generiert. Ich habe versucht, die ApplicationId von der DefaultConfig zu entfernen, aber es funktioniert weder nicht.Im Manifest ist der Paketname com.company.project.Android verschiedene packageName mit Aromen

Wer weiß, wie man das macht?

Dies ist der build.gradle

defaultConfig { 
      multiDexEnabled true 
      minSdkVersion 16 
      targetSdkVersion 23 
      versionCode 1 
      versionName "1.0" 
      applicationId "com.company.project" 
    }  
    productFlavors { 
       development { 
        applicationId 
        "com.company.project.DEV" 
        versionName "1.0-dev" 
        resValue "string", "app_name", "Project-Dev"      
       } 
       production { 
        applicationId 
        "com.company.project.PROD" 
        resValue "string", "app_name", "Project-Prod" 
        versionName "1.0-prod"       
       } 
      } 
+0

Wie erstellen Sie Ihre separaten APKs? Was ist der Befehl, den Sie verwenden? Wie bestätigst du den Paketnamen, nachdem du ihn erstellt hast? – rothloup

Antwort

1

Beim Erstellen productFlavors dann die entsprechenden gradle Aufgaben ändert sich auch. Beispielsweise haben Sie ursprünglich nur assembleDebug und assembleRelease. Aber nach der Implementierung von productFlavors werden sich die gradle Aufgaben ändern. Unter Ihrem Beispiel in Betracht, wird es

  • assembleDevelopmentDebug
  • assembleDevelopmentRelease
  • assembleProductionDebug
  • assembleProductionRelease

sein Wenn Sie Android Studio verwenden, dann müssen Sie sich keine Sorgen über die gradle Aufgaben. Wählen Sie einfach die Build Variant aus dem Menü und erstellen Sie das Projekt. Es wird die entsprechenden Aufgaben ausführen und den Build installieren.

Ich habe einen Blog geschrieben, der dies erklärt, Product Flavors in Android. Ein Beispielprojekt ist auch unter GitHub verfügbar.