2016-05-04 5 views
9

मैं के लिए एंड्रॉयड com.adobe.creativesdk.image पुस्तकालयकई निर्भरताओं के साथ एएआर के लिए Xamarin बाध्यकारी कैसे उत्पन्न करें?

समस्या इस पुस्तकालय 20 संदर्भ और के लिए इन संदर्भों की तरह होता है, जो है बाध्यकारी एक Xamarin उत्पन्न करने के लिए कोशिश कर रहा हूँ यकीन है कि बहुत अधिक होता है। मुझे पूरे पेड़ का पता लगाने और बाध्यकारी परियोजना में जोड़ने के लिए सभी संदर्भ निकालना होगा।

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

क्या आप कृपया मुझे बाध्यकारी काम करने के लिए सही रास्ते में डाल सकते हैं?

+0

आप इस तरह की कोशिश की http://stackoverflow.com/questions/24309950 है की तरह सोचता है के लिए/create-aar-file-in-android-studio – Ankur1994a

+0

अंकुर 1 9 4 9: मुझे डर नहीं है कि यह कैसे मदद करता है। क्या आप कृपया समझा सकते हैं? –

उत्तर

1

मेरे पास एक ही समस्या थी, और अंत में मैंने निर्भरताओं को जोड़कर इसे हल किया। कई को NuGet संकुल के माध्यम से जोड़ा जा सकता है (बाध्यकारी प्रोजेक्ट पर राइटक्लिक करें और nuget संकुल जोड़ें पर क्लिक करें ...), सबसे सामान्य खेल जैसे प्ले सेवाएं, gson okhttp3 इत्यादि यहां पाए जा सकते हैं। यदि आप, मेरे जैसे, कुछ और असामान्य निर्भरताएं थीं, तो आपको उन्हें बाध्यकारी प्रोजेक्ट्स के रूप में जोड़ने की आवश्यकता हो सकती है।

मैंने पढ़ा है कि आप सीधे बाध्यकारी प्रोजेक्ट में एआर/जार निर्भरता जोड़ सकते हैं, और संदर्भ जार या एम्बेडेड रेफरेंस जार में बिल्ड एक्शन सेट कर सकते हैं, लेकिन यह मेरे लिए काम नहीं करता है। मैं xamarin के लिए अपेक्षाकृत नया हूं, इसलिए मुझे यकीन नहीं है कि अगर इसका उपयोग करने का इरादा नहीं है या ऐसा इसलिए था क्योंकि निष्पादन त्रुटि के कारण वे स्वचालित रूप से बाध्य नहीं हो पाएंगे (कुछ त्रुटियों और चेतावनियां जिन्हें मुझे मेटाफाइल में ठीक करने की आवश्यकता थी बाद में मैंने निर्भरता जार/आर को अपने स्वयं के बाइंडिंगप्रोजेक्ट में जोड़ा)।

भले ही, जिस तरह से मैं इसे काम करने के लिए मिला, समाधान के लिए एक नया बाइंडिंग प्रोजेक्ट जोड़कर था, जिसमें मैंने निर्भरता जार/आर जोड़ा और फिर इसे बनाया और मेटाफाइल में आवश्यक पंक्तियों/नोड्स को संकलित करने के लिए जोड़ा । तब मैंने बस "निर्भरता-बाध्यकारी" परियोजना को मेरे वास्तविक बाइंडिंगप्रोजेक्ट में संदर्भ के रूप में जोड़ा।

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

1

बाध्यकारी पुस्तकालयों में हमेशा अपनी खुद की चेतावनी होती है, लेकिन मैं आपको व्यवस्थित रखने में मदद के लिए कुछ सामान्यीकरण करने जा रहा हूं।

  1. चेक निर्भरता शामिल है और अगर उनमें से किसी Nuget पर पहले से ही कर रहे हैं फिर उनका उपयोग। एंड्रॉइड सपोर्ट लाइब्रेरीज़, Google Play एपीआई, आईबीएम एसडीके इत्यादि जैसी चीजें उनमें से ज्यादातर में पहले से ही बाइंडिंग हैं और नूजेट में हैं।

  2. Nuget में लोगों के खिलाफ अपनी निर्भरता संस्करण संख्याओं को देखना न भूलें। शायद आपका .aar lib वास्तव में Nuget पर बाध्यकारी की तुलना में अधिक अद्यतित है।

  3. अलग-अलग बड़े पुस्तकालय। अपनी शेष निर्भरताओं को ढूंढें जो नूजेट में नहीं हैं जो अपेक्षाकृत बड़े हैं, फिर उनमें से प्रत्येक के लिए अलग एंड्रॉइड बाइंडिंग लाइब्रेरी प्रोजेक्ट बनाएं। आम तौर पर बाध्यकारी एपीआई बड़ी पुस्तकालयों के साथ निर्भरताओं के रूप में अलग हो जाएंगे, इसलिए उनके लिए अलग-अलग परियोजनाएं बनाने के लिए यह बहुत आसान (और क्लीनर आईएमओ) है, फिर अपनी अंत पुस्तकालय में परियोजना संदर्भ जोड़ें।

  4. aars से अपने jars को अलग करें। आम तौर पर आपकी .aar फाइलें बड़ी हैं जो वैसे भी अपनी बाइंडिंग प्राप्त करती हैं और लूप को # 3 में प्राप्त करती हैं, लेकिन jar निर्भरताओं को ReferenceJar बिल्ड क्रियाएं का उपयोग करना चाहिए।

  5. अपने MetaData.xml के साथ खेलो। इसमें काफी समय लग सकता है, लेकिन बाइंडिंग एपीआई सही नहीं हैं। अपनी पसंद के अनुसार इसे साफ़ करने के लिए MetaData और अन्य फ़ाइलों का उपयोग करें।

कुछ अन्य चीजें हैं जो मदद कर सकता है:

  • https://marketplace.visualstudio.com/items?itemName=EgorBogatov.XamarinGradleBindings (वी.एस. प्लगइन Gradle निर्भरता से बाध्यकारी पुस्तकालयों बनाने के लिए अपूर्ण है, लेकिन शुरू हो रही है के लिए एक महान उपकरण भूलना अपने .jar स्थानांतरित करने के लिए न करें।। और अपने Jars फ़ोल्डर के बाद से इस किसी कारण से परियोजना जड़ करने के लिए उन्हें कहते हैं) में .aar फ़ाइलों
  • https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/customizing-bindings/java-bindings-metadata/ (अपने MetaData.xml फ़ाइल अद्यतन करने के लिए कुछ अच्छे तरीके)
  • ०१२३५१६४१०६१ समझने
  • मैं भी समान आकार के एंड्रॉयड पुस्तकालयों के लिए कुछ मौजूदा बाइंडिंग परियोजनाओं के लिए GitHub आसपास लगेगा एडब्ल्यूएस सेवाओं या अन्य अपाचे पुस्तकालयों
संबंधित मुद्दे