2013-06-14 13 views
5

Bir projenin farklı lezzetlerini oluşturmak istiyorum (yalnızca res klasörleri farklı içeriklere sahiptir), ancak çalışmaz. klasörleriminBir projenin yapılı aromaları

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.4' 
    } 
} 
apply plugin: 'android' 

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
    compile project('<path>:actionbarsherlock') 
} 

android { 
    compileSdkVersion 17 
    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'] 
     } 
    } 

    buildTypes { 
     debug { 
      packageNameSuffix ".debug" 
     } 

      release{ 
      packageNameSuffix ".release" 
      } 

     android.sourceSets.flavor1 { 
      res.srcDir = ['res_flavor1'] 
     } 

     android.sourceSets.flavor2 { 
      res.srcDir = ['res_flavor2'] 
     } 

     productFlavors { 
      flavor1 { 
       packageName "androidstudio.test.flavor1" 
      } 
      flavor2 { 
       packageName "androidstudio.test.flavor2" 
      } 
     } 
    } 
} 

Yapı (Her lezzet için sadece bir düzeni değiştirmek isteyen):

my_project 
    src 
    res 
    res_flavor1 
    res_flavor2 
Yani burada

(Bu soru Custom old Android project structure in Gradle gibi) benim build.gradle dosyasıdır

Yapı değişkenlerinde herhangi bir değişiklik görmüyorum, bu yüzden bir apk'yi ana dizine (androidstudio.test) verdiğimde. Dosyamda neyin var?

Android Studio'm Sürümüm: 0.1.3.

Daha fazla bilgiye ihtiyacınız varsa, ne yazacağımı söyleyeyim. Teşekkürler!

[DÜZENLEME]

@Greg:

Yukarıda benim Söz konusu res-klasör değişti, ama hala benim proje "üzerinden" klasörüne (yolunda sadece iki APK'leri olsun: "out /production/androidstudio.test "): androidstudio.test.apk ve androidstudio.test.unaligned.apk (proje ve modül adı: android.studio - Yukarıdaki soruda bu isimleri düzenledim, aksi halde biraz kafa karıştırıcı :)).

Farklı buildTypes otomatik olarak oluşturulmalı, değil mi? Ve onları oluşturmak için: Çalıştır -> Çalıştır "androidstudio.test".

Ayrıca android-studio'un günlük dosyalarına baktım, fakat bir hata yok.

Paket Gezgini'mizin bir ekran görüntüsü, belki de burada bir hata yaptım? enter image description here

Tatların neden yapılmadığını anlamıyorum.

cevap

0

resources.srcDir = ['res_flavor1'] yerine res.srcDirs = ['res_flavor1'] ayarını yapmak istiyorsunuz. Adlandırma biraz kafa karıştırıcı, ancak "kaynaklar" dizini Android "res" dizini ile aynı değil.

+0

Hey Greg, yorumunuz için teşekkürler. Yukarıdaki sorumu düzenledim. Lütfen bana yardım et. Teşekkürler – owe

+1

Hey, sorunumu çözdüm. Benim işletim sistemim Win7 (64bit) ve ben bir JDK_HOME değişkeni ayarlamamıştım, bu yüzden hiç bir şey yapmadım ... @ Greg yardımlarınız için teşekkürler ve gerçek problemi fark etmediğim için üzgünüm :). – owe

+0

Şimdi Greg'in cevabını denedim ve benim için çalışıyor. Teşekkürler. – owe

İlgili konular