का समाधान नहीं होता मैं निर्माण के दौरान इस तरह के त्रुटि मिलती है:kapt Protobuf-उत्पन्न वर्गों
e: /Users/some/path/SomeClass.java:86: error: cannot find symbol
e:
e: static ConnectionType getConnectionType(Context context) {
e: ^
e: symbol: class ConnectionType
e: location: class SomeClass
कहाँ ConnectionType
वर्ग Protobuf द्वारा उत्पन्न होता है। तो ऐसा लगता है जैसे कैप्टेड जेनरेटेड क्लास को हल नहीं करता है।
मैंने क्या प्रयास किया है?
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
main.java.srcDirs += 'build/generated/source/proto/main/java'
}
और यह भी मैं यह काम करने से पहले kapt शुरू होता है उत्पन्न वर्गों करना चाहते हैं:
apply plugin: 'kotlin-kapt'
तो मैं स्रोत सेट करने के लिए brotobuf-उत्पन्न कक्षाओं कहा:
पहले तो मुझे kotlin-apt
प्लगइन जोड़ा । तो मैं इस तरह से कार्यों को क्रमबद्ध करने का आदेश देता हूं:
afterEvaluate {
def protoTasks = []
tasks.each { task ->
if (task.name.contains('proto') || task.name.contains('Proto')) {
protoTasks.push(task)
}
}
tasks.each { task ->
if (task.name.startsWith('kapt')) {
task.dependsOn protoTasks
}
}
}
लेकिन ये सभी चीजें मदद नहीं करती हैं, मुझे अभी भी वही त्रुटि मिल गई है। इसे कैसे हल करें?
क्या आपको यकीन है,: मैं इसे में सही स्वाद नाम का इस्तेमाल किया था, की तरह? तो क्या आप 'वर्ग' फ़ाइल को उदा। आपके क्लास-आउटपुट फ़ोल्डर में 'कनेक्शन टाइप'? – guenhter
@guenhter मैं सिर्फ '.java' फ़ाइलों को देख सकता हूं, लेकिन 'class' फ़ाइलों नहीं। – VasyaFromRussia
क्या आप अपनी कक्षा की 'SomeClass.class' फ़ाइल देख सकते हैं? – guenhter