Utilisez différentes ressources pour différentes saveurs d'application en utilisant gradle

J'ai une application Android et j'aimerais avoir des saveurs différentes. Plus précisément, j'aimerais avoir 2 saveurs et, pour chaque saveur, utiliser des chaînes différentes ( strings.xml différent) et peut-être avoir des icônes différentes.

J'ai essayé de créer deux dossiers dans le dossier racine du projet: flav1 et flav2 et flav2 utilisé le build.gradle suivant

  • Android Studio - exception mergeDebugResources
  • Simple HttpURLConnection POST fichier multipart / form-data from android to google blobstore
  • Fade in Activity de l'activité précédente dans Android
  • Comment empêcher la connexion RFCOMM bluetooth Android de mourir immédiatement après .connect ()?
  • InputStream vers JsonObject - GSON
  • Android comment dessiner un bitmap sur une toile semi transparente
  •  android { compileSdkVersion "Google Inc.:Google APIs:15" buildToolsVersion "17.0.0" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } instrumentTest.setRoot('tests') } productFlavors { flav1 { packageName "com.ic.flav1" } flav2 { packageName "com.ic.flav2" } } android.sourceSets.flav2 { res { srcDir 'flav2' } resources { srcDir 'flav2' } } android.sourceSets.flav1 { res { srcDir 'flav1' } resources { srcDir 'flav1' } } } 

    Le résultat est que aucune des chaînes n'est reconnue, obtenant plusieurs erreurs du type suivant:

    Build FAILED:

    Erreur: Erreur: Aucune ressource trouvée qui correspond au nom donné (à 'contentDescription' avec la valeur '@ string / txt_addr').

    Est-ce que je manque quelque chose? Comment devrait être build.gradle?

    Merci

  • La méthode onFrameAvailable () de SurfaceTexture est toujours trop tard
  • StartActivityForResult () à partir d'une Activité Fragment et Finissant Enfant, n'appelle pasActivityResult () in Fragment
  • Meta Tag "apple-mobile-web-app-capable" pour Android?
  • EditText.getText (). ToString () retourne parfois ""
  • Différence entre MotionEvent.getRawX et MotionEvent.getX
  • Comment faire pour Android: background = "? Android: attr / selecttableItemBackground work in API level 8
  • One Solution collect form web for “Utilisez différentes ressources pour différentes saveurs d'application en utilisant gradle”

    La solution était d'ajouter un répertoire

    valeurs

    Sous chaque dossier Res correspondant, et toutes les chaînes ont été reconnues.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.