के साथ एंड्रॉइड ऐप के लिए निर्भरता सबस्टिट्यूशन मेरे पास एक एंड्रॉइड ऐप प्रोजेक्ट है जिसमें अलग एंड्रॉइड लाइब्रेरी मॉड्यूल है, जिसे बाइनरी के रूप में प्रकाशित किया गया है। मैं स्रोतों से लाइब्रेरी बनाने या प्रकाशित आर्टिफैक्ट का उपयोग करने के बीच धीरे-धीरे स्विच करने की क्षमता जोड़ना चाहता हूं। Android एप्लिकेशन डिफ़ॉल्ट रूप से बाइनरी विरूपण साक्ष्य पर निर्भर करता है:ग्रैडल - लाइब्रेरी
compile "com.example.konstantin.mylibrary:mylibrary:${mylibraryVersion}"
अब मैं अपने द्विआधारी विरूपण साक्ष्य स्रोत कोड द्वारा प्रतिस्थापित किया जा करना चाहते हैं, तो मैं जड़ build.gradle फ़ाइल में निम्न कोड जोड़ें:
configurations.all {
resolutionStrategy {
dependencySubstitution {
substitute module("com.example.konstantin.mylibrary:mylibrary:${mylibraryVersion}") with project(':mylibrary')
}
}
हालांकि जब मैं ग्रेडल बनाने की कोशिश कर रहा हूं तब भी बाइनरी आर्टिफैक्ट ले रहा है। यहाँ क्या गलत है?
भी दिलचस्प है कि अगर मैं, allprojects अनुभाग के लिए या आवेदन मॉड्यूल build.gradle फाइल करने के लिए निर्भरता प्रतिस्थापन कोड के लिए कदम Gradle से निम्न संदेश के साथ निर्माण करने के लिए विफल रहता है:
Error:Module version MyApplication:app:unspecified, configuration '_debugCompile' declares a dependency on configuration 'default' which is not declared in the module descriptor for MyApplication:mylibrary:unspecified
ऐसा लगता है [यह एंड्रॉइड प्लगइन बग] (https://code.google.com/p/android/issues/detail?id=189483) समस्या से संबंधित हो सकता है – akd005