का उपयोग कर विभिन्न एप्लिकेशन स्वादों के लिए विभिन्न संसाधनों का उपयोग करें मेरे पास एक एंड्रॉइड एप्लिकेशन है और मैं अलग-अलग स्वाद लेना चाहता हूं। विशेष रूप से मैं 2 स्वाद लेना चाहता हूं और प्रत्येक स्वाद के लिए अलग-अलग तारों (विभिन्न strings.xml
फ़ाइल) का उपयोग करें और शायद कुछ आइकन अलग हों।ग्रेडल
मैं इस परियोजना के रूट फ़ोल्डर में दो फ़ोल्डर्स बनाने की कोशिश की है: flav1
और flav2
और इस्तेमाल निम्नलिखित 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'
}
}
}
इसी का परिणाम है कि तार में से कोई भी मान्यता प्राप्त है, निम्न में से अनेक त्रुटियां हो रही है टाइप:
build FAILED :
error: Error: No resource found that matches the given name (at 'contentDescription' with value '@string/txt_addr').
क्या मुझे कुछ याद आ रही है? Build.gradle कैसे होना चाहिए?
धन्यवाद
"res" और "संसाधन" के बीच क्या अंतर है? मैं ग्रहण से आने वाली एएस नौसिखिया हूं ... मैं अपने प्रोजेक्ट में फ़ोल्डर देखता हूं लेकिन मुझे यकीन नहीं है कि यह क्या करता है और प्रत्येक स्वाद के लिए अलग "संसाधन" होने से आपको कैसे फायदा होगा? –
Res और संसाधन एक ही बात है। यह सिर्फ नामकरण सम्मेलन है कि एएस उपयोग करता है ("res")। प्रत्येक स्वाद के लिए अलग-अलग संसाधन होने से आपको उदाहरण के लिए एक ही संसाधन आईडी के लिए अलग-अलग छवियां मिल सकती हैं (उदाहरण के लिए R.id.logo विभिन्न स्वादों में एक अलग छवि हो सकती है) –