मुझे अपने प्रोजेक्ट में proto फ़ाइल में समस्या है मैंने अपनी प्रोटो फ़ाइल में आयात किया था:

import "google/api/annotations.proto";

प्रोजेक्ट बनाते समय मुझे निम्न त्रुटि मिल रही है।

Import "google/api/annotations.proto" was not found or had errors.

मैं अपने प्रोजेक्ट में इस आयात का उपयोग कैसे कर सकता हूं? क्या मुझे अपने build.gradle में कुछ जोड़ना चाहिए?

1
Stanislav Mukhametshin 8 नवम्बर 2018, 15:39

1 उत्तर

सबसे बढ़िया उत्तर

गैर-Android पर, आप इस निर्भरता को अपने build.gradle में जोड़ सकते हैं:

compile 'com.google.api.grpc:proto-google-common-protos:1.12.0'

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

हालांकि, प्रसिद्ध प्रोटोज के लिए चर्चा किए गए समाधान का उपयोग किया जा सकता है यहाँ भी। अर्थात्, एक compile निर्भरता के बजाय एक protobuf निर्भरता का उपयोग करें। यह आपके निर्माण के हिस्से के रूप में कोड उत्पन्न करेगा।

protobuf 'com.google.api.grpc:proto-google-common-protos:1.12.0'

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

2
Eric Anderson 8 नवम्बर 2018, 16:35