2015-08-11 11 views
10

में आभासी फ़ोल्डर जोड़ने मैं build.gradle फ़ाइल का उपयोग मेरे ऐप की संपत्ति फ़ोल्डर में अपने कंप्यूटर पर कई फ़ोल्डरों इकट्ठा करने के लिए:AndroidStudio: Gradle

sourceSets { 
    main { 
     assets.srcDirs = ['../someFolder/', 'src/main/assets'] 
    } 
} 

यह मेरी संपत्ति someFolder और की फ़ाइलों को होने फ़ोल्डर की ओर जाता है "मूल" परिसंपत्ति फ़ोल्डर:

//The "physical" folders 

../someFolder 
    |- file1.txt 
    |- file2.txt 
    |- file3.txt 
src/main/assets 
    |- asset1.txt 

//...become this: 

assets 
    |- file1.txt 
    |- file2.txt 
    |- file3.txt 
    |- asset1.txt 

मैं Gradle में पथ को कैसे अनुप्रेषित कर सकते हैं ताकि मेरी संपत्ति फ़ोल्डर someFolder से सभी फाइलों के साथ एक फ़ोल्डर "somefolder", जैसे शामिल हैं:

assets 
    |- someFolder 
    |--- file1.txt 
    |--- file2.txt 
    |--- file3.txt 
    |- asset1.txt 
+0

वर्चुअल फ़ोल्डर एक ऐसे फ़ोल्डर के रूप में जो वास्तव में अस्तित्व में नहीं है या वर्चुअल है जैसा कि हम बाद में "ओवरराइड" कर सकते हैं? –

+0

आभासी "वास्तव में अस्तित्व में नहीं है" के रूप में आभासी है। – PhilLab

+1

मुझे नहीं लगता कि यह अकेले कुछ ग्रेडल प्राप्त कर सकता है। यदि आप लिनक्स मशीन या मैक पर हैं, तो आप सिम्लिंक के साथ काम कर सकते हैं। Exec कार्य https://docs.gradle.org/current/dsl/org.gradle.api.tasks के माध्यम से अपने स्रोत फ़ोल्डर से अपने गंतव्य फ़ोल्डर @ gradle के कॉन्फ़िगरेशन समय पर एक सिम्लिंक बनाने के लिए कमांड को ट्रिगर करने का एक तरीका होना चाहिए। Exec.html –

उत्तर

1

1) अपने बाहरी संपत्ति ./extAssets

sourceSets.main.assets.srcDirs = ['src/main/assets', './extAssets'] 

2) लिंक सभी अपने इस फ़ोल्डर

$ cd extAssets/ 
$ ln -s ../../someFolder/ someFolder 

के रूप में परिणाम के अंदर बाहरी निर्देशिका के रूप में परियोजना के अंदर फ़ोल्डर बनाएँ आप देखेंगे

assets 
    |- someFolder 
    |--- file1.txt 
    |--- file2.txt 
    |--- file3.txt 
    |- asset1.txt 

बिना किसी फ़ाइल की प्रतिलिपि

+0

लिनक्स के लिए अच्छा विचार! दुर्भाग्यवश यह मंच-स्वतंत्र नहीं है (या वाक्यांश को अलग-अलग करने के लिए: विंडोज के लिए कोई समाधान नहीं है) – PhilLab