5

मैं कुछ परियोजना पर lombok का उपयोग कर, और नए एंड्रॉयड स्टूडियो 2.4 के साथ अद्यतन अब (पूर्वावलोकन) मैं इस अजीब त्रुटि मिलती है:एंड्रॉयड स्टूडियो 2.4 + लंबोक annotationProcessor विन्यास भ्रम

What went wrong: Execution failed for task ':core:javaPreCompileRelease'. Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor. Please add them to the annotationProcessor configuration. - lombok-1.16.16.jar Alternatively, set android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true to continue with previous behavior. Note that this option is deprecated and will be removed in the future. See https://developer.android.com/r/tools/annotation-processor-error-message.html for more details.

मैं पहले से ही करने की कोशिश की:

annotationProcessor "org.projectlombok:lombok:1.16.16"

लेकिन इसका कोई प्रभाव नहीं है।

मैं भी परीक्षण किया:

android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true

लेकिन यह भी कोई प्रभाव नहीं है।

और जानकारी के लिए समर्थन पृष्ठ भी चेक किया लेकिन बिना किसी किस्मत के, आप में से कोई भी संभवतः? https://developer.android.com/studio/preview/features/index.html?utm_source=android-studio#annotationProcessor_config

उत्तर

6

अद्यतन:

provided "org.projectlombok:lombok:1.16.16" // keep 
annotationProcessor "org.projectlombok:lombok:1.16.16" // add this 

बस पूरी तरह से काम किया, लेकिन मैं दो एंड्रॉयड स्टूडियो मॉड्यूल, और दो build.gradle फ़ाइलों की है। त्रुटि लॉग ने बस थोड़ा सा (मॉड्यूल उपसर्ग) बदल दिया, और मैंने सोचा कि फिक्स काम नहीं करता है।

लेकिन दोनों को ठीक कर लागू करने के बाद फ़ाइलों सब कुछ पूरी तरह से काम किया build.gradle।

+0

एक ही समस्या थी। मैं एंड्रॉइड lib मॉड्यूल और जावा lib मॉड्यूल में Lombok का उपयोग कर रहा था। मुझे केवल एंड्रॉइड मॉड्यूल में build.gradle को अपडेट करना पड़ा। जावा मॉड्यूल 'compileOnly": lombok: org.projectlombok [अपने संस्करण] "के रूप में रह सकते हैं' – tir38

+1

के साथ एंड्रॉयड स्टूडियो 3.0 कनारी 1 ऊपर दी गई/annotationProcessor पंक्तियों के अलावा मैं भी 'javaCompileOptions { annotationProcessorOptions { जोड़ने के लिए किया था includeCompileClasspath = सच } } ' ' एंड्रॉयड अंदर { defaultConfig { } } 'अनुभाग। – DSoldo

+0

'एनोटेशन प्रोसेसर 'को' कप्तान 'होना चाहिए – Diolor

0

मैं एक ही समस्या थी लेकिन एक अलग ठीक की जरूरत है (हालांकि विचार ऊपर स्वीकार किए जाते हैं जवाब से आया है - https://stackoverflow.com/a/43820494/1777346)

पता चला .. मैं पहले से ही प्रदान की है और दोनों build.gradle फाइलों में annotationProcessor था, लेकिन , मेरे पास एक संकलन प्रविष्टि भी थी। इसे हटाने के लिए यह समस्या मेरे लिए तय की गई:

compile 'org.projectlombok:lombok:1.16.16' // remove this 
provided 'org.projectlombok:lombok:1.16.16' 
annotationProcessor "org.projectlombok:lombok:1.16.16" 

बस लगा कि मैं किसी को भी मदद करता हूं तो मैं अपने निष्कर्ष जोड़ दूंगा। मैं एंड्रॉइड स्टूडियो 3.0 कैनरी 4 और ग्रेडल का उपयोग कर रहा हूं: 3.0.0-अल्फा 4 बिल्डिंग समय प्राप्त करने के लिए मेरी अनदेखी खोज में .. जो कभी भुगतान नहीं करता है :)

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