मैं अपनी परियोजना से एक पुस्तकालय बनाना चाहता हूं, परियोजना कई निर्भरताओं और संसाधनों का उपयोग करती है। यदि कार्डव्यू को जार के रूप में आयात किया जाता है, तो इसमें इसके साथ संसाधन नहीं होंगे, लेकिन जब इसे एआर के रूप में जोड़ा जाता है, तो इसे फिर एक और मॉड्यूल के रूप में जोड़ा जाता है। तो मैं इसे एक एकल पुस्तकालय में संयोजित नहीं कर सकता। मैं अपनी परियोजना को भंडार में जमा नहीं करना चाहता हूं। मैं लाइब्रेरी कैसे बना सकता हूं, अग्रिम धन्यवाद!हम विभिन्न मॉड्यूल के संयोजन से एक पुस्तकालय कैसे बना सकते हैं?
उत्तर
android-fat-aar आपके लिए इस समस्या को संभालना चाहिए।
आप GitHub रिपोजिटरी से
apply from: 'fat-aar.gradle'
करने के लिए है और फिर एक एम्बेडेड निर्भरता के साथ अपने संकलन निर्भरता की जगह। तो बजाय
dependencies {
compile project(':otherModule')
}
के रूप में एक मॉड्यूल otherModule
निर्भरता definining की आप केवल, के रूप में
dependencies {
embedded project(':otherModule')
}
इसे परिभाषित करने की संकलन विन्यास एम्बेडेड विन्यास पर निर्भर करता है होगा ताकि आप होगा पहले की तरह स्थानीय रूप से वही व्यवहार।
लेकिन अंत में यह एक समस्याग्रस्त विन्यास है, खासकर यदि आप कुछ एंड्रॉइड समर्थन पुस्तकालयों का उपयोग करना चाहते हैं। आप सबसे अधिक संभावना डुप्लिकेशंस मुद्दों में भाग लेंगे।
आप ऑफ़लाइन काम के लिए इस स्थापना बना रहे हैं तो बेहतर पुस्तकालय कलाकृतियों आप उपयोग करने की आवश्यकता की एक प्रति के साथ एक Local Maven repository
repositories {
mavenLocal()
}
उपयोग करने के लिए विचार करें। या यहां तक कि खुद के लिए एक व्यक्तिगत रूप से प्रबंधित भंडार और किसी और को भी इसकी आवश्यकता है।
क्या आप जानते हैं कि आप पुस्तकालय के रूप में एक मॉड्यूल का उपयोग कर सकते हैं (स्रोत, कोई एएआर संकलित नहीं)? इसका मतलब यह होगा कि आपकी लाइब्रेरी-प्रोजेक्ट सभी ग्रेडल निर्भरताओं का उपयोग कर सकती है। यहां 'माइएपी लाइब्रेरी' नामक लाइब्रेरी प्रोजेक्ट के साथ एक उदाहरण दिया गया है जो 'एपीआई'
पहले एक स्टैंडअलोन मॉड्यूल होगा, इस उदाहरण के लिए अपनी नई लाइब्रेरी को मॉड्यूल नाम 'एपीआई' के साथ बनाएं, लेकिन नाम कर सकता है जो कुछ भी आपको पसंद हो)। कि पुस्तकालय मॉड्यूल के लिए Gradle फ़ाइल में जहां आम तौर पर आवेदन प्लगइन
apply plugin: 'com.android.library' //not apply plugin: 'com.android.application'
का प्रयोग करेंगे यह भी सुनिश्चित करें पुस्तकालय मॉड्यूल अपने Gradle फ़ाइल के defaultConfig
में एक applicationId
घोषणा नहीं करता है बनाने के पुस्तकालय प्लगइन का उपयोग। फिर सामान्य रूप से सभी लाइब्रेरी निर्भरताओं की घोषणा करें।
फिर आपकी उपभोग करने वाली परियोजना में सेटिंग्स में निम्नलिखित शामिल करके लाइब्रेरी आयात करें।Gradle:
//this first line declares a pseudonym to refer to the library module
include ':api'
//this second line explains where the pseudonym links to
//(the path to the module directory of the library project, relative to the root dir of the current project)
project(':api').projectDir = new File('../MyApiLibrary/api/')
अपने उपभोक्ता मॉड्यूल के Gradle फ़ाइल में, इस परियोजना को संदर्भित एक निर्भरता के रूप में:
dependencies {
...
compile project(':api')
}
अब सब कुछ अंदर अपने मुख्य परियोजना और पुस्तकालय परियोजना की कक्षाओं के सभी आयातित निर्भरता का उपयोग कर सकते
यदि मुझे यह सही लगता है, तो आपके पास एक बहु मॉड्यूल प्रोजेक्ट है, जिसमें कई लाइब्रेरी प्रोजेक्ट हैं, और आप एक एकल आरा संकलित करना चाहते हैं जिसमें आपके मॉड्यूल और उनकी निर्भरता शामिल है। यदि ऐसा है:
- मैवेन इंस्टॉल करें। - अपने मॉड्यूल में ग्रेडल मेवेन प्लगइन (https://github.com/dcendents/android-maven-gradle-plugin) लागू करें। मॉड्यूल को एकल पुस्तकालयों के रूप में स्थापित करने के लिए इंस्टॉल कार्य का उपयोग करें।
- एक नया मॉड्यूल बनाएं, जो आपके एकल पुस्तकालयों और उनकी निर्भरताओं के सभी स्थापित संस्करणों को आयात करता है। इस मॉड्यूल में एंड्रॉइड छाया प्लगइन (https://github.com/zawn/android-shade-plugin, यहां प्रलेखन: http://imperceptiblethoughts.com/shadow/) लागू करें। इसका उत्पादन एक उबेर-एर होगा, और आपके पुस्तकालय मॉड्यूल और उनकी निर्भरता वाले एआर होंगे। आप इसे अपने स्थानीय मैवेन इंस्टेंस में इंस्टॉल कर सकते हैं, या अपने ऐप्स में एआरएस को libs निर्देशिका में छोड़ सकते हैं।
- 1. हम विभिन्न रूबी कक्षाओं के बीच सिंगलटन विधियों की प्रतिलिपि कैसे बना सकते हैं?
- 2. क्या हम एक इंटरफ़ेस का ऑब्जेक्ट बना सकते हैं?
- 3. हम किबाना से कैसे पूछ सकते हैं?
- 4. हम जावा में इंटरफ़ेस का ऑब्जेक्ट कैसे बना सकते हैं?
- 5. विभिन्न परियोजनाओं के पाइथन पुस्तकालय एक ही पैकेज में कैसे हो सकते हैं?
- 6. कैसे बना सकते हैं या
- 7. क्या हम आयनिक में 'मूल विज्ञापन' बना सकते हैं?
- 8. क्या हम जावा में पॉपअप त्रुटि अलर्ट बना सकते हैं?
- 9. एक से अधिक अलार्म कैसे बना सकते हैं?
- 10. एक एंड्रॉयड पुस्तकालय मॉड्यूल
- 11. एएमडी मॉड्यूल के रूप में संरचित एक पुन: प्रयोज्य पुस्तकालय कैसे बना सकता है?
- 12. django में गतिशील रूप से अनुमति कैसे बना सकते हैं?
- 13. हम संग्रहित प्रक्रिया से एक शून्य वापस कर सकते हैं
- 14. हम ल्यूसीन, सोलर या नच का उपयोग करके एक सरल खोज इंजन कैसे बना सकते हैं?
- 15. knockoutjs: क्या हम पैरामीटर के साथ एक निर्भर ऑब्सर्जेबल फ़ंक्शन बना सकते हैं?
- 16. क्या हम sandcastle तेज कर सकते हैं?
- 17. क्या हम Google क्लोजर कंपाइलर के साथ पूर्ण .js फ़ाइल से बाहरी बना सकते हैं?
- 18. गतिशील रूप से एक सरणी बना सकते हैं और तत्वों
- 19. हम रेट्रोफिट 2 के साथ विभिन्न प्रतिक्रिया प्रकार कैसे प्रबंधित कर सकते हैं?
- 20. क्या हम माउस इवेंट्स के लिए एक तत्व (div) पारदर्शी बना सकते हैं?
- 21. हम इलीक्सिर में आसानी से कॉल कैसे कर सकते हैं?
- 22. हम JBOSS से डेटाबेस कनेक्शन कैसे कॉन्फ़िगर कर सकते हैं?
- 23. क्या हम एक ही मॉड्यूल में टाइमिट के साथ प्रत्येक कार्य को चला सकते हैं
- 24. हम कैसे बढ़ सकते हैं और फिर सशर्त के बिना काउंटर कम कर सकते हैं?
- 25. विभिन्न मॉड्यूल
- 26. Node.js Blobs नहीं बना सकते हैं?
- 27. क्या हम एक नए टीएफएस प्रक्रिया टेम्पलेट में माइग्रेट कर सकते हैं और इतिहास बना सकते हैं?
- 28. पॉइंटर्स विभिन्न आकारों के हो सकते हैं?
- 29. IntelliJ स्वचालित रूप से एक सजावट वर्ग बना सकते हैं?
- 30. क्या हम सीधे नोड्स को नोडलिस्ट से निकाल सकते हैं?
क्या आप अपनी वर्तमान कॉन्फ़िगरेशन फाइल पोस्ट कर सकते हैं? – Adonis
क्यों आप comp.android.support को संकलित नहीं कर सकते: कार्डव्यू-वी 7: 25.2.0'' या तो जार या आर का उपयोग किए बिना? –