যখন আপনার ডিপেন্ডেন্সি কোনো লোকাল লাইব্রেরি বা ফাইল ট্রি ছাড়া অন্য কিছু হয়, তখন Gradle আপনার settings.gradle ফাইলের dependencyResolutionManagement { repositories {...} } ব্লকে নির্দিষ্ট করা অনলাইন রিপোজিটরিগুলোতে ফাইলগুলো খোঁজে। আপনি প্রতিটি রিপোজিটরিকে যে ক্রমে তালিকাভুক্ত করেন, সেই ক্রমেই Gradle প্রতিটি প্রোজেক্ট ডিপেন্ডেন্সির জন্য রিপোজিটরিগুলোতে অনুসন্ধান করবে। উদাহরণস্বরূপ, যদি কোনো ডিপেন্ডেন্সি রিপোজিটরি A এবং B উভয় থেকেই পাওয়া যায় এবং আপনি প্রথমে A-কে তালিকাভুক্ত করেন, তাহলে Gradle রিপোজিটরি A থেকে ডিপেন্ডেন্সিটি ডাউনলোড করবে।
ডিফল্টরূপে, নতুন অ্যান্ড্রয়েড স্টুডিও প্রজেক্টগুলো তাদের settings.gradle ফাইলে রিপোজিটরি লোকেশন হিসেবে গুগলের মেভেন রিপোজিটরি এবং মেভেন সেন্ট্রাল রিপোজিটরি নির্দিষ্ট করে, যেমনটি নিচে দেখানো হয়েছে:
কোটলিন
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
গ্রুভি
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
স্থানীয় রিপোজিটরি থেকে কিছু চাইলে mavenLocal() ব্যবহার করুন:
কোটলিন
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
গ্রুভি
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
অথবা আপনি নিম্নলিখিতভাবে নির্দিষ্ট Maven বা Ivy রিপোজিটরি ঘোষণা করতে পারেন:
কোটলিন
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven(url = "https://repo.example.com/maven2") maven(url = "file://local/repo/") ivy(url = "https://repo.example.com/ivy") } }
গ্রুভি
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven { url 'https://repo.example.com/maven2' } maven { url 'file://local/repo/' } ivy { url 'https://repo.example.com/ivy' } } }
আরও তথ্যের জন্য, গ্রেডল রিপোজিটরি নির্দেশিকা দেখুন।
গুগলের মেভেন রিপোজিটরি
নিম্নলিখিত অ্যান্ড্রয়েড লাইব্রেরিগুলির সর্বশেষ সংস্করণগুলি গুগলের মেভেন রিপোজিটরি থেকে পাওয়া যায়:
- অ্যান্ড্রয়েডএক্স লাইব্রেরি
- স্থাপত্য উপাদান লাইব্রেরি
- কনস্ট্রেইন্ট লেআউট লাইব্রেরি
- অ্যান্ড্রয়েডএক্স টেস্ট
- ডেটাবাইন্ডিং লাইব্রেরি
- অ্যান্ড্রয়েড ইনস্ট্যান্ট অ্যাপ লাইব্রেরি
- Wear OS
- গুগল প্লে পরিষেবা
- গুগল প্লে বিলিং লাইব্রেরি
- ফায়ারবেস
আপনি গুগলের ম্যাভেন রিপোজিটরি ইনডেক্সে সমস্ত উপলব্ধ আর্টিফ্যাক্ট দেখতে পারেন ( প্রোগ্রাম্যাটিক অ্যাক্সেসের জন্য নীচে দেখুন)।
আপনার বিল্ডে এই লাইব্রেরিগুলোর মধ্যে একটি যোগ করতে, আপনার টপ-লেভেল build.gradle.kts ফাইলে গুগলের মেভেন রিপোজিটরি অন্তর্ভুক্ত করুন:
কোটলিন
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must instead use: // maven { // url = "https://maven.google.com" // } // An alternative URL is "https://dl.google.com/dl/android/maven2/". } }
গ্রুভি
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must instead use: // maven { // url 'https://maven.google.com' // } // An alternative URL is 'https://dl.google.com/dl/android/maven2/'. } }
এরপর আপনার মডিউলের dependencies ব্লকে কাঙ্ক্ষিত লাইব্রেরিটি যোগ করুন। উদাহরণস্বরূপ, অ্যাপকম্প্যাট লাইব্রেরিটি দেখতে এইরকম:
কোটলিন
dependencies { implementation("com.android.support:appcompat-v7:28.0.0") }
গ্রুভি
dependencies { implementation 'androidx.appcompat:appcompat:1.7.0' }
তবে, যদি আপনি উপরের লাইব্রেরিগুলোর কোনো পুরোনো সংস্করণ ব্যবহার করার চেষ্টা করেন এবং আপনার ডিপেন্ডেন্সিটি ব্যর্থ হয়, তাহলে সেটি Maven রিপোজিটরিতে পাওয়া যাবে না এবং এর পরিবর্তে আপনাকে অফলাইন রিপোজিটরি থেকে লাইব্রেরিটি সংগ্রহ করতে হবে।
প্রোগ্রাম্যাটিক অ্যাক্সেস
গুগলের মেভেন আর্টিফ্যাক্টগুলোতে প্রোগ্রাম্যাটিক অ্যাক্সেসের জন্য, আপনি maven.google.com/master-index.xml থেকে আর্টিফ্যাক্ট গ্রুপগুলোর একটি XML তালিকা পেতে পারেন। তারপর, যেকোনো গ্রুপের জন্য, আপনি এর লাইব্রেরির নাম এবং ভার্সনগুলো এখানে দেখতে পারেন:
maven.google.com/ group_path /group-index.xml
উদাহরণস্বরূপ, android.arch.lifecycle গ্রুপের লাইব্রেরিগুলো maven.google.com/android/arch/lifecycle/group-index.xml -এ তালিকাভুক্ত থাকে।
আপনি এখান থেকেও POM এবং JAR ফাইলগুলো ডাউনলোড করতে পারেন:
maven.google.com/ group_path / library / version / library - version . ext
উদাহরণস্বরূপ: maven.google.com/android/arch/lifecycle/compiler/1.0.0/compiler-1.0.0.pom।
SDK ম্যানেজার থেকে অফলাইন রিপোজিটরি
যেসব লাইব্রেরি গুগল ম্যাভেন রিপোজিটরিতে পাওয়া যায় না (সাধারণত লাইব্রেরির পুরোনো সংস্করণ), সেগুলোর জন্য আপনাকে এসডিকে ম্যানেজার থেকে অফলাইন গুগল রিপোজিটরি প্যাকেজটি ডাউনলোড করতে হবে।
তারপর আপনি যথারীতি এই লাইব্রেরিগুলো আপনার dependencies ব্লকে যোগ করতে পারেন।
অফলাইন লাইব্রেরিগুলো android_sdk /extras/ -এ সংরক্ষিত থাকে।