ग्रेडल लॉग कहाँ हैं?


93

एंड्रॉइड स्टूडियो में एक ऐप के लिए ग्रैड बिल्ड निम्नलिखित त्रुटि उत्पन्न करता है:

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.RuntimeException: failure, see logs for details.
cannot generate view binders com.sun.tools.javac.code.Symbol$CompletionFailure: class file for android.view.View$InvalidateInfo not found

क्या लॉग्स को खोजने के लिए कोई टिप दे सकता है?

शुरू में मुझे लगा कि यह एक ऐसा अशिष्ट प्रश्न था, जिसका सीधा जवाब एक त्वरित खोज के लिए सबसे ऊपर होगा, लेकिन मैं इसे खोजने में असफल रहा।

कृपया ध्यान दें कि यह प्रश्न लॉग के बारे में है , इस विशिष्ट त्रुटि के लिए नहीं। यह त्रुटि संदेश केवल एक उदाहरण के रूप में उपयोग किया जाता है। यदि आप उत्सुक हैं, तो यह विशिष्ट त्रुटि build.gradle में compileSdkVersion के लिए नवीनतम संस्करण (23) का उपयोग नहीं करने के कारण हुई थी।


क्या आप अपनी build.gradle फ़ाइल पोस्ट कर सकते हैं, अक्सर ऐसी त्रुटियां build.gradle में डेटा विसंगतियों के कारण होती हैं
Krasimir Stoev

2
आपकी त्वरित प्रतिक्रिया के लिए बहुत बहुत धन्यवाद। मैं ग्रेडल फ़ाइल वाले लोगों को विचलित नहीं करना चाहता। त्रुटि डेटा बाइंडिंग से संबंधित है, और मैं डेटा बाइंडिंग को हटाकर त्रुटि को समाप्त कर सकता हूं। यह प्रश्न लॉग के बारे में एक सामान्य प्रश्न है, विशिष्ट त्रुटि के लिए नहीं। मैं इसे स्पष्ट करने के लिए प्रश्न को अपडेट करूंगा।
हाँग

जवाबों:


74

ग्रैड एंड्रॉइड स्टूडियो में एक अलग फ़ाइल में अपने लॉग को रीडायरेक्ट नहीं करता है।

इसलिए यदि आप उन्हें किसी फ़ाइल में देखना चाहते हैं, तो आपको टर्मिनल में एक कमांड का उपयोग करके ग्रेडल बनाने की जरूरत है और एक फाइल में इनडायरेक्ट इनपुट को रीडायरेक्ट करना है।

gradlew build > myLogs.txt 2>&1

यह कमांड प्रॉजेक्ट बिल्ड से सभी स्टैंडर्ड आउटपुट और एरर मैसेज को प्रोजेक्ट फ़ोल्डर में myLogs.txt नामक फाइल पर रीडायरेक्ट करेगा।

gradlew build > myLogs.txt 2> logErrors.txt

यह कमांड ग्रैड लॉग से myLogs.txt और सभी एरर मैसेजेस से logErrors.txt पर सभी स्टैंडर्ड आउटपुट रीडायरेक्ट करेगा।

विंडोज 10 पर परीक्षण किया गया और पूरी तरह से काम करता है।

यहां कमांड से विभिन्न फाइलों तक मानक आउटपुट को रीडायरेक्ट करने के बारे में अधिक जानकारी दी गई है।


जवाब के लिए धन्यवाद। मैं विंडोज 10 पर एंड्रॉइड चला रहा हूं। क्या आपका मतलब है कि एंड्रॉइड स्टूडियो में ग्रैडल चलाने से लॉग फाइल उत्पन्न नहीं होती है?
हॉन्ग

1
हाँ। मैं इसे विंडोज 10 पर भी चला रहा हूं और मुझे टी-लाइक कमांड का उपयोग करके टर्मिनल के माध्यम से ग्रेडेल बिल्ड स्क्रिप्ट को चलाने का एक तरीका मिल रहा है। तो दो विकल्प वहां हैं - कमांड को टी-लाइक कमांड के साथ चलाएं जो विंडोज पर समर्थित है या ऊपर दिए गए लिंक में लॉग -4 जे के माध्यम से एक हुक नेविगेट करता है।
१३:३० पर कसीनोमीर स्टोव

1
काम पर Tommorow मैं Ubuntu पर इस कमांड को निष्पादित करने की कोशिश करूंगा और मुझे लगता है कि यह काम करता है। मैंने पढ़ा है कि यह वह तरीका है जिससे आप मानक उत्पादन के बाहर अपने लॉग को स्टोर कर सकते हैं
Krasimir Stoev

1
मैंने एक खोज की और पाया कि वर्गीकृत बाहरी फ़ाइल के लिए सामान्य लॉगिंग विकल्प प्रदान नहीं करता है। यह यहाँ sugested है: Discuss.gradle.org/t/log-to-console-and-file/8635 और कुछ अन्य फ़ोरम पोस्ट पर भी।
कैसिमिर स्टोव

1
हैलो फिर से, मैंने जाँच की और यह पता चला कि ग्रेडेल अपने लॉग्स को केवल एंड्रॉइड स्टूडियो में मानक आउटपुट में आउटपुट करता है। यदि आपको उन्हें एक अलग फ़ाइल में देखने की आवश्यकता है, तो आपको एक कमांड के साथ अपनी परियोजना का निर्माण करना चाहिए और आउटपुट को एक फ़ाइल पर पुनर्निर्देशित करना चाहिए। मैं अपने उत्तर को अपडेट करूंगा। बस इसका परीक्षण किया है और यह विंडोज़ 10 पर ठीक काम करता है
Krasimir Stoev

43

देखें -> टूल विंडोज -> बिल्ड।

बाएं पैनल पर छोटा "अब" बटन है।

यहां छवि विवरण दर्ज करें

वर्तमान निर्माण के लिए सभी ग्रेड लॉग हैं।

यहां छवि विवरण दर्ज करें

EDIT : AndroidStudio 3.3 से नया आइकन है

यहां छवि विवरण दर्ज करें


5
आइकन बदल गया है, लेकिन यह अभी भी है। इसे "टॉगल दृश्य" पर मंडराने वाला संकेत पाठ।
मेधावी संख्या

1
मेरी ज़िंदगी बचाई। कोटलिन कंपाइलर स्टैक के निशान का ढेर दिखा रहा था, जो मुझे उपयोग में नहीं मिला
petchachaula

7
बटन दूर चला गया है। अब आप पूरी लॉग दिखाने के लिए शीर्ष पंक्ति ("बिल्ड: ...") पर क्लिक करें।
एरिक ब्राउन ने

14

आप इस तरह से अपना काम चलाने की कोशिश कर सकते हैं:

> gradlew --info बिल्ड

आपको उपयोगी लॉग जानकारी का एक गुच्छा मिलेगा


6
नीचे क्यों? ग्रैड Run with --info or --debug option to get more log output.अपने उत्पादन के निचले हिस्से पर खुद को प्रिंट करता है "आह, बच्चे आजकल, वे पवित्र टर्मिनल से बचते हैं"
Antek

कमांड लाइन में पूर्ण विस्तारित लॉग देखने के लिए मुझे यही चाहिए। यह उपयोगी और अच्छा जवाब है! मैं ग्रैडल 5.5.1 का उपयोग कर रहा हूं
डेविड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.