আমি অ্যান্ড্রয়েড স্টুডিওতে আমার লাইব্রেরির জন্য একটি আয়ার ফাইল তৈরি করতে চাই, আমি একটি জার বিকল্প নিয়ে যেতে চাইতাম তবে আমার লাইব্রেরিতে সংস্থান রয়েছে।
কোনও ধারণা কীভাবে একটি লাইব্রেরি থেকে আর ফাইল তৈরি করবেন?
আমি অ্যান্ড্রয়েড স্টুডিওতে আমার লাইব্রেরির জন্য একটি আয়ার ফাইল তৈরি করতে চাই, আমি একটি জার বিকল্প নিয়ে যেতে চাইতাম তবে আমার লাইব্রেরিতে সংস্থান রয়েছে।
কোনও ধারণা কীভাবে একটি লাইব্রেরি থেকে আর ফাইল তৈরি করবেন?
উত্তর:
যদি আপনার গ্রন্থাগারটি অ্যান্ড্রয়েড লাইব্রেরি হিসাবে সেট আপ করা হয় (যেমন এটি apply plugin: 'com.android.library'তার বিল্ড.gradle ফাইলে বিবৃতিটি ব্যবহার করে ), এটি নির্মিত হলে এটি একটি আউটপুট আউটপুট দেয়। এটি বিল্ড / আউটপুট / আর / এ প্রদর্শিত হবে আপনার মডিউল ডিরেক্টরিতে ডিরেক্টরিতে প্রদর্শিত হবে।
একটি নতুন অ্যান্ড্রয়েড লাইব্রেরি তৈরি করতে আপনি ফাইল> নতুন মডিউলটিতে "অ্যান্ড্রয়েড লাইব্রেরি" টাইপ চয়ন করতে পারেন।
aar, আমাকে Build > Rebuild Projectঅ্যান্ড্রয়েড স্টুডিওতে একটি করতে হয়েছিল। কেবল চলমান, ডিবাগিং, বা বিল্ডিং APK aarআমার জন্য তৈরি করে নি।
./gradlew moduleName:assembleReleaseটার্মিনাল ট্যাবটিতে দ্রুততর পন্থায় আছেন
যদি আপনার অ্যান্ড্রয়েড লাইব্রেরি প্রকল্প হিসাবে সংজ্ঞায়িত একটি মডিউল থাকে তবে আপনি build/outputs/aar/সেই প্রকল্পের ডিরেক্টরিতে সমস্ত বিল্ড ফ্লেভারের (ডিবাগ এবং ডিফল্টরূপে প্রকাশ) এর জন্য ফাইল ফাইল পাবেন ।
your-library-project
|- build
|- outputs
|- aar
|- appframework-debug.aar
- appframework-release.aar
এই ফাইলগুলি উপস্থিত না থাকলে একটি বিল্ড শুরু করুন
gradlew assemble
ম্যাকোস ব্যবহারকারীদের জন্য
./gradlew assemble
একটি লাইব্রেরি প্রকল্পে একটি build.gradleফাইল রয়েছে apply plugin: com.android.library। একটি .aarফাইল হিসাবে প্যাকেজযুক্ত এই লাইব্রেরির রেফারেন্সের জন্য আপনাকে কিছু বৈশিষ্ট্য যেমন প্যাকেজ এবং সংস্করণ নির্ধারণ করতে হবে।
build.gradleলাইব্রেরির জন্য উদাহরণ ফাইল (এই উদাহরণে মুক্তির মধ্যে অবরুদ্ধকরণ অন্তর্ভুক্ত রয়েছে):
apply plugin: 'com.android.library'
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 21
versionCode 1
versionName "0.1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
আপনার অ্যাপ্লিকেশন প্রকল্পে আপনি এই .aarফাইলটি libsফোল্ডারে ফেলে দিতে পারেন build.gradleএবং নীচের উদাহরণটি ব্যবহার করে এই লাইব্রেরিটি উল্লেখ করতে ফাইলটি আপডেট করতে পারেন:
apply plugin: 'com.android.application'
repositories {
mavenCentral()
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
android {
compileSdkVersion 21
buildToolsVersion "21.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 20
versionCode 4
versionName "0.4.0"
applicationId "yourdomain.yourpackage"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
}
}
}
dependencies {
compile 'be.hcpl.android.appframework:appframework:0.1.0@aar'
}
: Gradle স্থানীয় নির্ভরতা ফাইল উল্লেখ-এর জন্য বিকল্প অপশন পাওয়া যাবে http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project
.aarআপনার সংস্থার মধ্যে এই ফাইলগুলি ভাগ করে নেওয়া দরকার হলে ম্যাভেন চেক আউট করুন। এই বিষয়টিতে একটি দুর্দান্ত লেখা পাওয়া যাবে: https://web.archive.org/web/20141002122437/http://blog.glassdiary.com/post/67134169807/how-to-share-android-archive- গ্রন্থাগার-Aar-জুড়ে
একটি আর ফাইলটি .zipএকটি বিকল্প এক্সটেনশন এবং নির্দিষ্ট সামগ্রী সহ কেবল একটি । বিশদগুলির জন্য আরার ফর্ম্যাট সম্পর্কে এই লিঙ্কটি পরীক্ষা করুন ।
gradlew assemble- এটি আমার যে সমস্যাটি ছিল তা সমাধান করেছে solved
gradlewএকটি স্ক্রিপ্ট হয় প্রকল্পের toplevel ডিরেক্টরি ।
যেমন ব্যবহারকারী এইচসিপিএল বলেছেন ঠিক তেমন আপনি লাইব্রেরির সংস্করণ সম্পর্কে চিন্তা করতে না চাইলে আপনি এটি করতে পারেন:
dependencies {
compile(name:'mylibrary', ext:'aar')
}
বিরক্তিজনক কারণ হিসাবে প্রতিবার সংস্করণ আপডেট করতে হবে। এছাড়াও এটি এইভাবে নামের জায়গার বিষয়ে উদ্বেগজনক করে তোলে।
একই থ্রেডে এইচসিপিএলের উত্তরে উল্লিখিত প্রথম এবং দ্বিতীয় পদক্ষেপ অনুসরণ করার পরে , আমরা যুক্ত করেছি , '* .আর'], দির: আমাদের-অ্যান্ড্রয়েড-অ্যাপ-প্রকল্প-ভিত্তিক-গ্রেড / অ্যাপ / build.gradle ফাইল নীচে প্রদর্শিত হিসাবে:
...
dependencies {
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
...
আমাদের গ্রেড সংস্করণ com.android.tools.build:gradle:3.2.1
এআর তৈরি করতে
নীচের পদক্ষেপ অনুসরণ করার সময়।
File->New->New Module->Android Library and create।
এআর তৈরি করতে
অ্যান্ড্রয়েড স্টুডিওতে নীচের পদক্ষেপগুলি অনুসরণ করে শীর্ষে ডান প্যানে গ্রেডে যান।
Gradle->Drop down library name -> tasks-> build-> assemble or assemble release
এআর বিল্ড / আউটপুট / আআআআআআআআআআআআআআআআআআআআ
তবে আমরা যদি চাই যে নামটি প্রকল্পের ডিরেক্টরিতে নির্দিষ্ট ফোল্ডারে আপনার নামের সাথে উত্পন্ন হয় তবে build.gradleনীচের মতো আপনার অ্যাপ্লিকেশন স্তরটি সংশোধন করুন
defaultConfig {
minSdkVersion 26
targetSdkVersion 28
versionCode System.getenv("BUILD_NUMBER") as Integer ?: 1
versionName "0.0.${versionCode}"
libraryVariants.all { variant ->
variant.outputs.all { output ->
outputFileName = "/../../../../release/" + ("your_recommended_name.aar")
}
}
}
এখন এটি প্রকল্প ডিরেক্টরিতে "রিলিজ" নামের ফোল্ডার তৈরি করবে যা এআর থাকবে।
বিটিডাব্লু @আর এর ট্রানজিটিভ নির্ভরতা নেই। এটি চালু করার জন্য আপনার একটি প্যারামিটার প্রয়োজন: গ্রেড ব্যবহার করে আর লাইব্রেরির জন্য সংক্ষিপ্ত নির্ভরতাগুলি সমাধান করা হয় না