2011-10-28 13 views
7

मैंने हाल ही में जेनकिन्स मशीन पर एंड्रॉइड एसडीके को rev13 से rev15 करने के लिए अपडेट किया है, और rev14 में किए गए परिवर्तनों के साथ फिट करने के लिए build.xml में हमारी कुछ कस्टम बिल्ड सामग्री को फिर से करना पड़ा। मैंने इसे अपने वर्कस्टेशन पर काम किया, और सबकुछ होने की उम्मीद में इसे जांच लिया। इसके बजाय, निर्माण निम्नलिखित त्रुटि के साथ विफल:जेनकिन्स पर एक एंड्रॉइड प्रोजेक्ट संकलित करते समय मैं इस ज़िप अपवाद को कैसे ठीक करूं?

-obfuscate: 

-dex: 
     [dex] Converting compiled files and external libraries into /export/home/hudson/jobs/path/to/the/file/classes.dex... 
     [dx] 
     [dx] UNEXPECTED TOP-LEVEL EXCEPTION: 
     [dx] java.util.zip.ZipException: error in opening zip file 
     [dx]  at java.util.zip.ZipFile.open(Native Method)  
     [dx]  at java.util.zip.ZipFile.<init>(ZipFile.java:127) 
     [dx]  at java.util.zip.ZipFile.<init>(ZipFile.java:143) 
     [dx]  at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:206) 
     [dx]  at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) 
     [dx]  at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) 
     [dx]  at com.android.dx.command.dexer.Main.processOne(Main.java:418) 
     [dx]  at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329) 
     [dx]  at com.android.dx.command.dexer.Main.run(Main.java:206) 
     [dx]  at com.android.dx.command.dexer.Main.main(Main.java:174) 
     [dx]  at com.android.dx.command.Main.main(Main.java:95) 
     [dx] 1 error; aborting 

BUILD FAILED 
/opt/android-sdk-linux/tools/ant/build.xml:729: The following error occurred while executing this line: 
/opt/android-sdk-linux/tools/ant/build.xml:731: The following error occurred while executing this line: 
/opt/android-sdk-linux/tools/ant/build.xml:743: The following error occurred while executing this line: 
/opt/android-sdk-linux/tools/ant/build.xml:249: null returned: 1 

मैं सफलतापूर्वक एक ही एंड्रॉयड एसडीके, चींटी के साथ जेनकींस कार्यक्षेत्र निर्देशिका में सीधे जेनकींस उपयोगकर्ता के रूप में ant चलाकर परियोजना का निर्माण कर सकते हैं, और JDK कि जेनकींस उपयोग कर रहा है । मैंने यह सुनिश्चित करने के लिए जेनकींस लॉग से निष्पादन लाइन को भी कट और पेस्ट किया है कि सभी knobs और स्विच समान हैं। तो यह इस बारे में कुछ है कि जेनकिंस कैसे चल रहा है यह समस्या है।

मैंने जेनकिंस को पर्यावरण के "खोल निष्पादन" चरण के रूप में पर्यावरण को डंप किया था, और मुझे लगता है कि LD_LIBRARY_PATH चर सेट है।

LD_LIBRARY_PATH=/u0/jdk1.6.0_29/jre/lib/i386/server:/u0/jdk1.6.0_29/jre/lib/i386:/u0/jdk1.6.0_29/jre/../lib/i386 

मैं अपने टर्मिनल में यह मान सेट खोल से निर्माण चल रहा है, जबकि, और यह जब जेनकींस बातें चलाता है के रूप में एक ही तरह से विफल रहता है। आह-हा!

समस्या यह है कि मैं यह नहीं समझ सकता कि LD_LIBRARY_PATH चर सेट करने से चर, या इस समस्या का कारण नहीं होगा। यह जेनकींस उपयोगकर्ता के पर्यावरण में सेट नहीं है, और मुझे जेनकिंस कॉन्फ़िगरेशन में इसका कोई संदर्भ नहीं मिल सकता है। जब मैंने एक अद्यतन जेडीके स्थापित किया था और JAVA मान /etc/defaults/jenkins में अद्यतन किया था तो यह मान बदल गया था, इसलिए यह स्पष्ट रूप से संबंधित है, लेकिन दुर्भाग्य से, व्यवहार में कोई भी सुधार नहीं हुआ है।

मैं विचारों से बाहर हूं। कोई मदद?

उत्तर

1

समस्या यह साबित हुई कि जेनकिन्स मैट्रिक्स बिल्ड फीचर (एक बहुत अच्छी सुविधा, जिस तरह से) एक पुस्तकालय अपनी classes.jar फ़ाइल नहीं डाल रहा था, जहां मूल परियोजना थी, रिपोर्ट करने की त्रुटि के कारण इसे खोजने की उम्मीद है। वह मूल रूप से एक "फ़ाइल नहीं मिली" थी जो ऐसा नहीं कहती है। हम अभी भी सुनिश्चित नहीं हैं कि (अगर कुछ भी?) LD_LIBRARY_PATH को इसके साथ क्या करना था।

मेरे सहयोगी ने मुख्य परियोजना के लिए build.xml फ़ाइल को tweaked किया और लाइब्रेरी अधिक बलपूर्वक सहमत है कि आउटपुट फाइलें समाप्त होने जा रही हैं, और अब सब कुछ हमारी राहत के लिए फिर से काम करता है।

0

मुझे एक ही समस्या थी। मैं जेनकींस पर निर्माण कर रहा था और जार गलत तरीके से लिबियों में कॉपी हो रहा था।

मैं जेनकिंस कॉपी आर्टिफैक्ट्स प्लगइन का उपयोग कर एक सामान्य लाइब्रेरी जार को पकड़ने और इसे libs/में कॉपी करने के लिए उपयोग कर रहा हूं। जब मैंने "फ़्लैटन निर्देशिका" विकल्प का उपयोग नहीं किया तो मुझे त्रुटि मिली। एक बार जब मैं libs निर्देशिका में जार था सब कुछ वापस सामान्य था।

उम्मीद है कि यह किसी को सिरदर्द बचाता है!

+0

यह निश्चित रूप से गलत स्थान वाली जार फ़ाइलों से संबंधित प्रतीत होता है। – Argyle

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

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