मैं एक वाणिज्यिक Android आवेदन पर काम कर रहा हूँ। मैं विभिन्न लाइसेंस प्रकारों के तहत लाइसेंस प्राप्त कुछ पुस्तकालयों का उपयोग कर रहा हूं जिनमें से कुछ निम्नलिखित बताते हैं:
यदि लाइब्रेरी में एट्रिब्यूशन नोट्स के साथ "NOTICE" फाइल है, तो आपको वितरित करते समय उस NOTICE को शामिल करना होगा
(उनमें से एक को उदाहरण के लिए अपाचे लाइसेंस 2.0 के तहत लाइसेंस प्राप्त है )।
एक से अधिक पुस्तकालय हैं। जब मैं निर्माण को ढाल के साथ या एंड्रॉइड स्टूडियो के साथ करता हूं तो मुझे निम्नलिखित बिल्ड त्रुटि प्राप्त होती है:
* What went wrong:
Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/license.txt
निम्नलिखित जवाब जो मैंने अब तक इंटरनेट और स्टैकओवरफ़्लो पर पाए हैं, build.gradleउन्हें निम्नलिखित को जोड़ने के लिए पैकेजिंग से lic.txt (नोटिस.टेक्स्ट या अन्य फाइलें जो इस तरह से हस्तक्षेप कर सकती हैं) को हटाने का सुझाव देते हैं :
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
}
उदाहरण के लिए देखें: Android METAL-INF / LICENSE.txt में कॉपी किए गए एंड्रॉइड स्टूडियो 0.4 डुप्लीकेट फाइलें
उन पुस्तकालयों ( उदाहरण के लिए अपाचे लाइसेंस 2.0 ) के लाइसेंस के अनुसार, लाइसेंस और नोटिस फ़ाइलों को शामिल किया जाना चाहिए ।
मेरा प्रश्न: मैं कैसे (जैसे लाइसेंस से संबंधित एक से अधिक फ़ाइलों को जोड़ सकते हैं license.txt , notice.txt (Gradle से मेरी परियोजना में क्रम में लाइसेंस के अनुरूप होने के आदि) : तकनीकी विस्तार लाइसेंस ग्रंथों concatenated किया जाएगा)?