2015-02-07 15 views
7

मैं उसी नाम से पुस्तक से एंबेडेड एंड्रॉइड सीखने की कोशिश कर रहा हूं। और लेखक ने एओएसपी जिंजरब्रेड शाखा के साथ काम करने का सुझाव दिया। तो मैंने स्रोत डाउनलोड करने के लिए पीछा किया:एओएसपी रेपो सिंक बहुत लंबा लगता है

$ repo init -u https://android.googlesource.com/platform/manifest.git 
-b gingerbread 

$ repo sync 

लेकिन यह बहुत लंबा समय ले रहा है। आउटपुट से भी, ऐसा लगता है कि यह अन्य शाखाओं से स्रोत कोड भी डाउनलोड कर रहा है (मैं एंड्रॉइड -5 देखता हूं .....) जो मैं नहीं चाहता हूं। मैं सोच रहा हूं कि यही कारण है कि यह इतना लंबा लगता है।

क्या किसी को भी एक ही समस्या है? कृपया मुझे एक सुझाव दें! धन्यवाद!

+0

संबंधित: https://superuser.com/questions/603547/how-can-i-limit-the-size-of-the-android-source-i-need-to-download-with-repo-syn –

उत्तर

16

एओएसपी एक बहु-गीगाबाइट डाउनलोड है इसलिए आप इतना कुछ नहीं कर सकते हैं। हालांकि, -c/--current-branchrepo sync विकल्प को छोड़कर रेपो ने गिट को केवल उस शाखा को लाने के लिए कहा जो आपको प्रत्येक रिपोजिटरी की सभी शाखाओं की बजाय वास्तव में आवश्यक है। जिंजरब्रेड जैसी पुरानी रिलीज के साथ सैद्धांतिक रूप से काफी फायदेमंद होना चाहिए। हालांकि, रिपो गिट बंडलों के साथ रिपॉजिटरीज को बीज करता है जो इसे HTTP के माध्यम से डाउनलोड करता है, और बंडल फ़ाइलें -c विकल्प से प्रभावित नहीं होती हैं। --no-clone-bundle का उपयोग बंडल फ़ाइलों को अक्षम करता है। इसलिए निम्नलिखित रेपो आदेश छोटी से छोटी डाउनलोड उपज चाहिए: (। ध्यान रखें कि जिंजरब्रेड एक कई साल पुराने रिलीज है यह हाल ही में हार्डवेयर का एक बहुत पर बॉक्स से बाहर काम नहीं करेगा।)

repo sync -c --no-clone-bundle 

+0

लेकिन यदि आप एक शाखा निर्दिष्ट करते हैं (उदाहरण मार्शमलो), तो क्या यह अन्य शाखाओं (नौगेट, जिंजरब्रेड) डाउनलोड नहीं करना चाहिए? उदाहरण के लिए यदि आप -b के साथ marshmallow के लिए मैनिफेस्ट निर्दिष्ट करते हैं? –

+0

@KaizerSozay: हाँ, यही वह है जो मैं कहने की कोशिश कर रहा हूं। '-c' के साथ आप केवल आवश्यक शाखाएं डाउनलोड करते हैं। –

1
repo sync -c --no-tags --no-clone-bundle -j2 

मेरे सिंक समय को बहुत कम करता है।

+0

आम तौर पर, यदि उत्तर कमांड का इरादा है, और यह दूसरों को पेश किए बिना समस्या का समाधान क्यों करता है, तो स्पष्टीकरण शामिल है, तो उत्तर अधिक उपयोगी होते हैं। क्या आप '-j2' स्विच क्या करते हैं और यह कैसे मदद करता है, इस पर विस्तार कर सकते हैं? –

+1

'-j' स्विच 'मेक' से जाना जाता है, जो उपयोग की जाने वाली नौकरियों की संख्या निर्धारित करता है (समांतरता)। '-j2' 2 नौकरियों की संख्या सेट करता है (यानी 2 कोर का उपयोग करें)। लिनक्स पर आप आमतौर पर कोर की संख्या का पता लगाने के लिए '-j \' nproc \ '' या '-j $ (getconf _NPROCESSORS_ONLN) 'का उपयोग करते हैं। – pevik

0

repo init --depth 1

यह एक और विकल्प है कि सिंक गति में सुधार हो सकता है, यह केवल रेपोस के नवीनतम संस्करण को डाउनलोड करना चाहिए के रूप में है।

संबंधित मुद्दे