Android Studio का उपयोग करके Android लाइब्रेरी प्रोजेक्ट




android-studio android-library (5)

इस प्रश्न का उत्तर कहीं दिया गया हो सकता है लेकिन उपयुक्त नहीं मिला।

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

अग्रिम में धन्यवाद।


एक पुराना सवाल है, लेकिन अब भी AndroidStudio में पुस्तकालयों के लिए प्रॉपर समाधान नहीं लगता है। मैं पिछले कुछ समय से माइग्रेशन स्टेप बनाने की कोशिश कर रहा हूं और यही मैंने पाया है।

मेरा 'समाधान'

आइए कहते हैं कि हमें एक लाइब्रेरी (जिसे लिब कहा जाता है) है जिसमें साझा कोड और एक एप्लिकेशन प्रोजेक्ट (जिसे ऐप कहा जाता है) शामिल है जो उक्त लाइब्रेरी के कोड का उपयोग करना चाहता है।

कुंजी किसी प्रोजेक्ट को settings.gradle में परिभाषित कर रही है। प्रोजेक्ट के रूट ( /Some/Path/MyProjects/Project/settings.gradle ) में यह फ़ाइल पहले से मौजूद है और इसमें कुछ ऐसा होना चाहिए जैसे include ':app'

हम इस फाइल को लाइब्रेरी में शामिल करने के लिए संशोधित करेंगे और लाइब्रेरी को निम्न दो लाइनों के साथ परिभाषित करेंगे:

/Some/Path/MyProjects/Project/settings.gradle

...
// tell gradle we want to include a module called 'lib'
include 'lib'
// tell gradle there is a module called 'lib', found in a specific directory
// Note the /app on the end, the project structure wraps a project around a module, you want to refer that module!
project (':lib').projectDir = new File('/Some/Path/MyProjects/Library/app')
...

नए जोड़े गए मॉड्यूल lib पर निर्भर करने के लिए बिल्ड /Some/Path/MyProjects/Project/app/build.gradle /Some/Path/MyProjects/Project/app/build.gradle प्रोजेक्ट भी संपादित करें

/ कुछ / पथ / MyProjects / परियोजना / ऐप्स / build.gradle`

...
dependencies {
    ...
    compile project (':lib') // we want to depend on our library
}
...

अतिरिक्त

कई डेवलपर्स के साथ या लचीलेपन के लिए काम करते समय, मैं अपने .gradle निर्देशिका में मेरे .gradle उपयोग करता हूं (* के लिए nix आधारित सिस्टम आमतौर पर होमडायर में पाया जाता है, यह सुनिश्चित नहीं है कि विंडोज इसके लिए कहां दिखता है)। ध्यान दें कि आपको निर्देशिका बनाने और अपने आप को फ़ाइल करने की आवश्यकता हो सकती है।

इस फ़ाइल में आप बना सकते हैं, यदि आपको पसंद है, तो आपके द्वारा वर्गीकृत फ़ाइलों का उपयोग किया जा सकता है। उदाहरण के लिए, मेरा कुछ निम्नलिखित की तरह है:

theconstant=/Some/Path/MyProjects/Library/app

ध्यान से लापता उद्धरण पर ध्यान दें (यकीन नहीं है कि क्या वास्तव में थो की जरूरत है) अब हम बदल सकते हैं

project (':lib').projectDir = new File('/Some/Path/MyProjects/Library/app')

साथ में

project (':lib').projectDir = new File(theconstant)

अब आप और आपकी टीम इस स्थिरांक (जो प्रति मशीन भिन्न हो सकती है) को परिभाषित कर सकती है और तदनुसार मार्ग बदल सकती है।

पेशेवरों

  • पूरे पुस्तकालयों की कोई नकल नहीं!
  • लचीलापन, आप प्रोजेक्ट की विंडो में लाइब्रेरी को संपादित कर सकते हैं
  • एक ही प्रोजेक्ट पर काम करने वाले कई डेवलपर्स अपने खुद के रास्तों को परिभाषित कर सकते हैं
  • लाइब्रेरी परियोजनाओं के संकलन समय ( BuildConfig.DEBUG !) पर संकलित हो जाती है

विपक्ष

  • अब तक कोई भी नहीं

मैं ठीक से इस माध्यम से परीक्षण करने का मौका नहीं मिला, फिर भी यह समय के लिए सबसे सुरुचिपूर्ण समाधान की तरह लगता है! मैं इस पर आपके विचार सुनना चाहूंगा।


मैं बस कर रहा हूँ:

include '..:commons'

सेटिंग में

तथा:

  compile project(':..:commons')

संदर्भ परियोजना के build.gradle में

इसलिए आप परियोजना के बाहर अपने आमतौर पर उपयोग किए जाने वाले देयता को रख सकते हैं


बस इसे एक सामान्य प्रोजेक्ट के रूप में बनाएं, यदि आप इसे ऐप में लाइब्रेरी ओपन project structure में उपयोग करना चाहते हैं जो इसका उपयोग करना चाहता है और Dependencies तहत इच्छित लाइब्रेरी को जोड़ना है।


जब आप एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाते हैं, तो विकल्पों में से एक "लाइब्रेरी के रूप में निशान" होता है।
वैकल्पिक रूप से, बस किसी अन्य की तरह परियोजना बनाएं। तब इसे कहीं और उपयोग करते हुए, लाइब्रेरी की ग्रेड फ़ाइल में सुनिश्चित करें कि आप apply-plugin "android-library" लिए apply-plugin "android-library" और इसे उपयोग करने वाले ऐप पर निर्भरता के रूप में जोड़ें। लाइब्रेरी के रूप में बनाई गई परियोजना को जोड़ने के बारे में अधिक जानकारी के लिए, here देखें।


आपका build.gradle कुछ इस तरह दिखना चाहिए

apply plugin: 'android-library'

repositories {
    mavenCentral()
} 
dependencies {
compile 'com.android.support:support-v4:18.0.0'
}

android {
compileSdkVersion 18
buildToolsVersion '18.1.1'

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        res.srcDirs = ['res']
    }
}
}

पहली पंक्ति को देखें





android-library