2013-09-28 12 views
11

संकलित करता है मेरे पास एंड्रॉइड स्टूडियो में एक प्रोजेक्ट है जो ग्रैडल के साथ संकलित करता है। सामान्य फ़ाइल संरचनाएंड्रॉइड स्टूडियो मार्क सिंटैक्स त्रुटि के रूप में, लेकिन ग्रेडल

MyProject 
    - MyProjectSource 
    - Libraries 
    - ActionBarSherlock 

मेरे परियोजना Gradle साथ बनाया गया है और इस मुद्दे को बिना संकलन होगा। हालांकि मेरी गतिविधि के भीतर की लाइनों में जहां मैं एक्शनबैरशेलॉक से एक घटक शामिल करता हूं, एंड्रॉइड स्टूडियो इसे एक त्रुटि के रूप में चिह्नित करता है।

मैंने देखा है कि एंड्रॉइड स्टूडियो ने .iml फ़ाइलों को भी उत्पन्न किया है। तो मेरा सवाल: क्या एंड्रॉइड स्टूडियो ने यह निर्धारित करते समय धीरे-धीरे निर्माण सिंकैक्स को अनदेखा किया है या नहीं?

स्पष्ट रूप से यह एक परियोजना अवरुद्ध करने वाली समस्या नहीं है, लेकिन यह धीमी गति से एंड्रॉइड स्टूडियो की पेशकश के उपकरण के पूर्ण सेट का लाभ लेने में सक्षम नहीं है।

किसी भी मदद के लिए अग्रिम धन्यवाद।

+0

मैं एक ही समस्या हो रही है। हालांकि, मैं सीधे एमवेन से एबीएस का उपयोग कर रहा हूं। यहां तक ​​कि [एबीएस ग्रैडल नमूना आवेदन एक वाक्यविन्यास त्रुटि को चिह्नित करता है, हालांकि यह संकलित करता है। http://s17.postimg.org/40tt64min/Screen_Shot_2014_01_21_at_4_05_28_PM.png हालांकि, दूसरे कंप्यूटर में सब कुछ पूरी तरह से काम कर रहा है। मैं प्रत्येक परिदृश्य में विभिन्न स्थितियों के बारे में नहीं सोच सकता। – kikoso

+0

@kikoso क्या आप अपने ऐप में एक्शनबैरशेल लाइब्रेरी जोड़ना चाहते हैं? कृपया उत्तर दीजिये। –

+0

हैलो @ जोहरखान। MavenCentral का उपयोग कर मेरे प्रोजेक्ट में ActionBarSherlock जोड़ा गया है। – kikoso

उत्तर

12

ये वास्तव में त्रुटियां नहीं हैं, यह प्रतीक को हल करने के लिए एंड्रॉइड स्टूडियो (0.4.2) में एक बग है और अगली रिलीज (0.4.3) के लिए तय है।

रिलीज़ होने से पहले इनमें से छुटकारा पाने के लिए निम्नलिखित

  1. अपनी परियोजना का उपयोग कर Build > Clean Project
  2. अपनी परियोजना
  3. के अपने Android स्टूडियो
  4. लें बैकअप बंद के अंदर सभी .iml फ़ाइलें हटाएँ साफ करते हैं आपकी परियोजना
  5. .idea निर्देशिका की सामग्री हटाएं
  6. ओपन स्टूडियो और इसे सह तक प्रतीक्षा करें Gradle

इसके अलावा, अगर आप File > Project Structure में कोई त्रुटि दिखाई देती है की पुष्टि के साथ सिंक mpletes। अगर "निर्भरता जोड़ा नहीं गया" कहने में कोई त्रुटि है, तो उस पर क्लिक करें और दाएं तरफ लाल बल्ब का उपयोग करके उन्हें निर्भरता में जोड़ें।

अद्यतन

एंड्रॉयड स्टूडियो 0.4.3 अब कैनरी चैनल पर उपलब्ध है।

+0

आपको सभी चरणों का पालन नहीं करना पड़ेगा; मुझे इसे चरण 4 के बाद काम करने के लिए मिला है। –

+0

ओह महान, मैंने जवाब दिया कि लंबे समय से स्टूडियो उसके बाद बहुत कुछ बदल सकता है। टिप्पणियों के लिए धन्यवाद यह कई लोगों की मदद करेगा और मैं जल्द ही अपना जवाब भी अपडेट करूंगा। – pyus13

4

अपडेट: @laochiv, मैंने पाया है कि मैन्युअल रूप से फ़ोल्डर .idea/पुस्तकालयों की सफाई और "ग्राडल फाइलों के साथ सिंक प्रोजेक्ट" पर क्लिक करने से समस्या हल हो जाती है। स्पष्ट रूप से यह सिंक तत्वों को नहीं हटाता है, लेकिन पुराने लोगों को रखें और वर्तमान जोड़ें। शायद रिपोर्ट करने के लिए एक बग :)


मुझे एक ही समस्या है। हालांकि, मैं सीधे एमवेन से एबीएस का उपयोग कर रहा हूं।

dependencies { 
    compile 'com.actionbarsherlock:actionbarsherlock:[email protected]' 
    compile 'com.android.support:support-v4:18.0.+' 
} 

भी ABS Gradle Sample application में सिंटेक्स त्रुटि के निशान है, हालांकि यह संकलित करता है।

Problem with ABS

हालांकि, किसी अन्य कंप्यूटर में सब कुछ पूरी तरह से काम कर रहा है। मैं प्रत्येक परिदृश्य में विभिन्न स्थितियों के बारे में नहीं सोच सकता।

+0

मुझे संस्करण 1.0.2 पर भी एक ही समस्या थी जो स्थिर संस्करण है :(लेकिन आपके समाधान को "लाइब्रेरी फ़ोल्डर की सामग्री हटाएं और फिर सिंक करें" धन्यवाद। – Hesam

2

मुझे नहीं पता कि MavenCentral का उपयोग करके लाइब्रेरी को कैसे जोड़ना है। मैं लाइब्रेरी

  1. App_Name/App_Name/libs फ़ोल्डर में लाइब्रेरी जोड़ने के लिए इन चरणों का पालन करता हूं।
  2. App_Name/build.gradle में इस

निर्भरता जोड़ने {

संकलन ---

संकलन फ़ाइलें ('libs/fileName.jar')}

  1. ./gradlew स्वच्छ
  2. सुनिश्चित करें कि आपके एंड्रॉयड स्टूडियो अपडेट है।
2

"क्या एंड्रॉइड स्टूडियो ग्रेडिंग निर्माण को अनदेखा करता है जब यह मूल्यांकन करता है कि कुछ वैध वाक्यविन्यास है या नहीं?" हाँ। एंड्रॉयड स्टूडियो परियोजना विन्यास का आयात करता है लेकिन अपने स्वयं के संकलक आपके द्वारा संपादित और बचत कर रहे हैं के रूप में (आप भी ग्रहण ECJ संकलक को बदल सकते हैं) चलाता है। निर्माण पर सच्चा अधिकार ग्रैडल है, और एएस अभी भी बीटा में है। आप ग्रेडल resync को चलाने या प्रोजेक्ट को बंद करने और पुनः आयात करने का प्रयास कर सकते हैं। मैं इस में कई बार की तरह के रूप में हेरफेर करने के लिए, विशेष रूप से build.gradle को संपादित करने के बाद किया है।

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

compile 'com.actionbarsherlock:actionbarsherlock:[email protected]' 

आपको एसडीके प्रबंधक का उपयोग करने और स्थानीय मैवेन भंडार स्थापित करने की आवश्यकता होगी।

लेकिन अंततः इन संकलन त्रुटियों से छुटकारा पाने के लिए संभव है, जब तक कि आपका build.gradle कोई अतिरिक्त स्रोतसेट नहीं बनाता है जिसे एएस समझ में नहीं आता है; एंड्रॉइड ग्रेडल प्लगइन उदाहरणों से बहुत ज्यादा विचलित न करने का प्रयास करें।

इसके अलावा, मैं नवीनतम और महानतम के लिए एएस के कैनरी अपडेट चला रहा हूं।

+0

आप जी + एडीटी समुदाय में भी शामिल होने पर विचार कर सकते हैं https: // प्लस .google.com/समुदायों/114791428968349268860 –

0

मैं एंड्रॉयड स्टूडियो 4.2 में इस समस्या है, उस पर 4.3

मैंने देखा है कि कुछ निर्भरता जोड़ने, निर्भरता को classes.jar अटैच नहीं किया तो Gradle सब कुछ पहचानता है, लेकिन आईडीई 'नहीं करता है निर्धारित किया जा सकता है था टी। इसे ठीक करने के लिए:

  • ओपन मॉड्यूल अपनी परियोजना
  • की सेटिंग निर्भरता त्रुटि
  • क्लिक करने के लिए है कि निर्भरता के लिए जोड़ें (+)
  • नेविगेट (पॉप अप के नीचे) को चुनें जिसमें वे अपने -Project/निर्माण/विस्फोट-बंडलों/अपने-निर्भरता/classes.jar
  • आईडीई फ़ाइलों की पहचान करनी चाहिए अब

आशा है कि यह मदद करता है

0

मेरे पास आज था और अपडेट/सिंक को हल नहीं किया गया था। लेकिन एंड्रॉइड स्टूडियो 2.2 अपडेट 5 के नवीनतम संस्करण को अपडेट करना (2.1 पर था)।

1

लिंक के माध्यम से जाएं और यह मेरे लिए काम करता है।

1.) एंड्रॉइड स्टूडियो के बाईं ओर मेनू से फ़ाइल विकल्प चुनें। 2.) विकल्प का चयन करें: "अमान्य कैश/पुनरारंभ करें .." यह एक संवाद खुल जाएगा। 3.) विकल्प के साथ पहले बटन पर क्लिक करें: "अमान्य और पुनरारंभ करें" 4.) यह स्टूडियो को बंद कर देगा और इसे पुनरारंभ करेगा। परियोजना की अनुक्रमण शुरू करें। यह मेरी समस्या

जाओ फ़ाइल का संकल्प लिया -> अमान्य कैश/पुनरारंभ -> अमान्य और पुन: प्रारंभ करें

स्रोत https://www.youtube.com/watch?v=FX_gCTpqhwM

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