2016-07-07 1 views
4

J'ai besoin d'installer 2 versions de mon projet (Production et Développement). J'ai besoin de 2 applications. J'essaye de l'obtenir en utilisant des saveurs, mais quand je signe l'apk, il génère toujours la même application, avec le même nom de package (com.company.project). J'ai essayé de supprimer l'applicationId de defaultConfig mais cela ne fonctionne pas non plus. Dans le manifeste, le nom du package est com.company.project.Android package differentName avec des saveurs

Quelqu'un sait comment faire cela?

C'est le 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

Comment construisez-vous vos propres fichiers APK? c'est-à-dire quelle est la commande que vous utilisez? Comment confirmez-vous le nom du paquet après l'avoir construit? – rothloup

Répondre

1

Lorsque vous créez productFlavors alors les tâches correspondantes gradle change également. Par exemple, vous n'aviez à l'origine que assembleDebug et assembleRelease. Mais, après l'implémentation productFlavors, les tâches gradle vont changer. Prenant votre exemple en contrepartie, il sera

  • assembleDevelopmentDebug
  • assembleDevelopmentRelease
  • assembleProductionDebug
  • assembleProductionRelease

Si vous utilisez Android Studio, alors vous n'avez pas à vous soucier de la gradle les tâches. Sélectionnez simplement Build Variant dans le menu et créez le projet. Il exécutera les tâches Gradle correspondantes et installera la construction. J'ai écrit un blog expliquant cela, Product Flavors in Android. Un exemple de projet est également disponible sur GitHub.