2012-11-27 13 views
10

में dexedLibs फ़ोल्डर इसलिए मैंने हाल ही में अपने फोनगैप/एंड्रॉइड प्रोजेक्ट (प्रोजेक्ट/बिन/डेक्सडलिब्स) के भीतर एक फ़ोल्डर देखा है और इस फ़ोल्डर में दो .jar फ़ाइलें हैं। इंटरनेट के चारों ओर खरोंच करने के बाद, मुझे एक वेबसाइट मिली जिसमें लेखक कहते हैं कि एडीटी संस्करण 21 परियोजना में तेजी से निर्माण के समय को सक्षम करने के लिए "प्री-डेक्सड लिब्स" रखता है।एंड्रॉइड प्रोजेक्ट

मैंने हाल ही में एडीटी 21 में अपग्रेड किया था और यह सोच रहा था कि क्या कोई और मुझे "प्री-डेक्सड लिब्स" वास्तव में क्या करता है, इस बारे में अधिक जानकारी दे सकता है? मैं नेट पर कोई अन्य उपयोगी जानकारी नहीं पा रहा हूं।

उत्तर

10

मेरे पास लगभग 20 बाहरी पुस्तकालयों वाला एक एंड्रॉइड प्रोजेक्ट है। एडीटी 21 से पहले, हर बार जब मैंने सोर्स कोड बदल दिया तो ऐप को पुनर्निर्माण करने में उम्र लग गई। अब यह काफी तेज़ है!

मुझे लगता है कि कारण यह है कि, एडीटी 21 से पहले, जब आपने ग्रहण में "रन" बटन दबाया तो बाहरी पुस्तकालयों ने डीईएक्स कोड में संकलित किया। अब यह बाह्य पुस्तकालयों के लिए केवल एक बार (जब तक वे बदल नहीं जाता) के लिए डीईएक्स कोड संकलित करेगा और बाद में "रन" के लिए प्रीबिल्ड लाइब्रेरी का उपयोग करेगा।

मुझे यह सुविधा पसंद है!

+0

धन्यवाद जेन - यह पुष्टि करता है कि लेखक का क्या अर्थ था जब उन्होंने कहा कि यह सुविधा "तेज निर्माण" समय के साथ मदद करती है। – Boyds

5

ध्यान रखें! मैं सिर्फ एक घंटे खर्च किया है पता लगाने के लिए कारण है कि मैं अपवाद: क्योंकि मैं काम कर विधि के साथ नए जार (एक ही नाम) करने के लिए अपने lib जार बदल गया है, और एडीटी 21 नहीं था

Caused by: java.lang.NoSuchMethodError: 

कारण था dexedLibs में नया एक तैयार करें।

तो बस बिन डीआईआर हटाएं और ग्रहण इसे फिर से बनाएगा।

0

प्रश्न अभी भी 2 साल पुराना है, अभी भी ब्याज की बात है।

जो लोग बाद में यहां ब्राउज़ करते हैं उनके लिए: मुझे बस परेशानी थी क्योंकि मैंने my.name.a3e से my.name.A3E से कॉर्डोवा प्रोजेक्ट का नाम बदल दिया और फिर निर्माण प्रक्रिया दुर्घटनाग्रस्त हो गई। यह पता चला कि चींटी-निर्माण में डीएक्सएड फाइलों को ताज़ा नहीं किया गया था (केस संवेदनशीलता)। ant-build फ़ोल्डर को हटाए जाने के बाद यह ठीक काम करता था, लेकिन निर्माण के बाद पहली बार अधिक समय लगा।

एक डेक्स फ़ाइल एक दलविक एक्सटेरटेबल फ़ाइल है, कुछ संकलित बाइट कोड जिसे Dalvik वर्चुअल मशीन द्वारा निष्पादित किया जा सकता है। डाल्विक एंड्रॉइड का मुख्य घटक है, इसलिए यही कारण है।

http://sourceforge.net/projects/dexer/ http://developer.android.com/reference/dalvik/system/DexFile.html http://fileinfo.com/extension/dex

ध्यान दें कि ग्रहण परियोजना स्वच्छ dexed libs नहीं निकाला जाएगा।

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