2013-06-14 15 views
12


Bir android uygulamam var ve farklı lezzetlere sahip olmak istiyorum. Özellikle 2 çeşniye sahip olmak isterim ve her çeşnide farklı dizgiler (farklı strings.xml dosya) kullanın ve bazı simgeler farklı olabilir.Farklı uygulama lezzetleri için farklı uygulama lezzetleri kullanın.

Ben projenin kök klasöründe iki klasör oluşturma denedim: flav1 ve flav2 ve kullanılmış Bunun sonucu dizeleri hiçbiri aşağıdakilerden birden fazla hata alıyorsanız, tanınan olmasıdır build.gradle

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' 
     } 
    } 
} 

aşağıdaki tür:

build FAILED :

error: Error: No resource found that matches the given name (at 'contentDescription' with value '@string/txt_addr').

Bir şey mi eksik? Build.gradle nasıl olmalı?

Teşekkür

cevap

7

çözüm her gelen res klasörü altındaki dizini

values

eklemek ve tüm dizeleri tanındı.

+0

"res" ile "resources" arasındaki fark nedir? Eclipse'den gelen bir AS'lıyım ... projemdeki klasörü görüyorum ama ne yapacağını ve her bir lezzet için ayrı bir "kaynak" dan nasıl faydalanacağınızdan emin değilim? –

+0

Res ve kaynaklar aynı şeydir. Bu sadece AS'nin ("res") kullandığı adlandırma kuralıdır. Her bir lezzet verici için farklı kaynaklara sahip olmanız, örneğin, aynı kaynak kimliği için farklı görüntülere sahip olma fırsatı verir (örn. R.id.logo, farklı tatlarda farklı bir görüntü olabilir) –

İlgili konular