জেটিফায়ার

স্বতন্ত্র জেটিফায়ার টুল সমতুল্য AndroidX প্যাকেজগুলির উপর নির্ভর করার পরিবর্তে সমর্থন-লাইব্রেরি-নির্ভর লাইব্রেরিগুলি স্থানান্তর করে। টুলটি আপনাকে Android স্টুডিওর সাথে বান্ডিল করা Android Gradle প্লাগইন ব্যবহার করার পরিবর্তে সরাসরি একটি পৃথক লাইব্রেরি স্থানান্তর করতে দেয়।

জেটিফায়ার ইনস্টল করুন

জেটিফায়ার ইনস্টল করতে, জিপ ফাইলটি ডাউনলোড করুন এবং এটি বের করুন। আপনার ডিভাইসে অবশ্যই জাভা সংস্করণ 1.8 বা উচ্চতর ইনস্টল থাকতে হবে।

ব্যবহার

একটি লাইব্রেরি প্রক্রিয়া করতে, বর্তমান লাইব্রেরির পাথ এবং আউটপুট ফাইলের পাথ যা টুলটি তৈরি করবে। জেটিফায়ার নেস্টেড আর্কাইভ সহ JAR, AAR এবং ZIP ফাইলগুলিকে সমর্থন করে৷

./jetifier-standalone -i <source-library> -o <output-library>

অপশন

নিম্নলিখিত টেবিলে জেটিফায়ার টুল কমান্ডের জন্য উপলব্ধ বিকল্পগুলি তালিকাভুক্ত করা হয়েছে:

অপশন প্রয়োজন? বর্ণনা
-i , --input <path> হ্যাঁ ইনপুট লাইব্রেরির পথ (JAR, AAR, বা ZIP)।
-o , --output <path> হ্যাঁ আউটপুট ফাইলের পাথ। যদি ফাইলটি ইতিমধ্যেই বিদ্যমান থাকে, জেটিফায়ার এটিকে ওভাররাইট করে।
-c , --config <path> না ঐচ্ছিক কাস্টম কনফিগারেশন ফাইলের পথ।
-l , --log <level> না লগিং স্তর। অনুমোদিত মান হল:
  • ত্রুটি
  • সতর্কতা
  • তথ্য
  • ভার্বোস
নির্দিষ্ট না থাকলে, ডিফল্ট "সতর্কতা"।
-r না বিপরীত মোডে কাজ করুন ("ডি-জেটিফিকেশন")।
-rebuildTopOfTree ,
--rebuildTopOfTree
না জেনারেট করা POM ফাইল অনুযায়ী Maven ডিস্ট্রিবিউশনের জিপ পুনর্নির্মাণ করুন।
সেট করা হলে, সমস্ত পুনর্লিখিত লাইব্রেরি সমর্থন লাইব্রেরির অংশ বলে ধরে নেওয়া হয়। জেটিফিকেশন জন্য প্রয়োজন নেই.
-s , --strict না নিয়ম অনুপস্থিত যখন ফলব্যাক করবেন না; পরিবর্তে ত্রুটি নিক্ষেপ.
-stripSignatures ,
--stripSignatures
না একটি স্বাক্ষরিত লাইব্রেরি জেটিফাই করার সময় একটি ত্রুটি নিক্ষেপ করবেন না; পরিবর্তে স্বাক্ষর ফাইল ফালা.
-t , -timestamp <arg> না সংরক্ষণাগারভুক্ত এন্ট্রিগুলির জন্য তাদের পরিবর্তিত সময় হিসাবে ব্যবহার করার জন্য টাইমস্ট্যাম্প নীতি৷ মান: Keep Previous (ডিফল্ট) যুগ বা এখন।

উদাহরণ

নিম্নলিখিত উদাহরণটি বর্তমান ডিরেক্টরিতে লাইব্রেরি libraryToProcess.aar এ ইউটিলিটি চালায় এবং একই ডিরেক্টরিতে result.aar এ আউটপুট লেখে:

./jetifier-standalone -i libraryToProcess.aar -o result.aar

ব্যবহারের নোট

জেটিফায়ার জাভা, এক্সএমএল, পিওএম, এবং প্রোগার্ড রেফারেন্সগুলিকে স্থানান্তরিত করে যা android.support.* প্যাকেজগুলিকে নির্দেশ করে, তাদের পরিবর্তন করে যাতে তারা সংশ্লিষ্ট androidx.* প্যাকেজগুলিতে নির্দেশ করে৷

android.support.* এর জন্য ProGuard ওয়াইল্ডকার্ড androidx.*

যদি কোনো android.support.* প্যাকেজে কোনো প্রকার থাকে যা কোনো সাপোর্ট লাইব্রেরি আর্টিফ্যাক্ট থেকে আসে না, জেটিফায়ার এখনও টাইপটিকে স্থানান্তরিত করে যতক্ষণ না এটির জন্য একটি ম্যাপিং থাকে। যাইহোক, এই স্থানান্তরটি কাজ করার নিশ্চয়তা দেয় না, কারণ সমস্ত কাস্টম প্রকারগুলিকে কভার করার জন্য যথেষ্ট সাধারণ ম্যাপিং নিয়ম নাও থাকতে পারে৷

উন্নত ব্যবহার

জেটিফায়ার ইউটিলিটি কিছু উন্নত ব্যবহারের ক্ষেত্রে সমর্থন করে।

বিপরীত মোড

আপনি যদি -r পতাকা পাস করেন, ইউটিলিটি বিপরীত মোডে চলে। এই মোডে, ইউটিলিটি অ্যান্ড্রয়েডএক্স এপিআইগুলিকে সমর্থন লাইব্রেরির সমতুল্যগুলিতে রূপান্তর করে৷ আপনি যদি AndroidX API ব্যবহার করে এমন লাইব্রেরি তৈরি করেন তবে সমর্থন লাইব্রেরি ব্যবহার করে এমন সংস্করণগুলি বিতরণ করতে হলে বিপরীত মোড কার্যকর।

উদাহরণ

নিম্নলিখিত উদাহরণটি বর্তমান ডিরেক্টরির myAndroidXLib.aar লাইব্রেরিতে বিপরীত মোডে ইউটিলিটি চালায় এবং একই ডিরেক্টরিতে supportLibVersion.aar এ আউটপুট লিখে:

./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar

কাস্টম কনফিগারেশন ফাইল

জেটিফায়ার টুলটি তাদের AndroidX সমতুল্য সাপোর্ট লাইব্রেরি ক্লাস ম্যাপ করতে একটি কনফিগার ফাইল ব্যবহার করে। প্রয়োজনে, আপনি একটি কাস্টম কনফিগারেশন ফাইল তৈরি করতে পারেন যা এই ম্যাপিংকে পরিবর্তন করে। এমনকি আপনি ম্যাপিংয়ে নতুন ক্লাস যোগ করতে পারেন যেগুলো আসলে সাপোর্ট লাইব্রেরির সদস্য নয়। উদাহরণস্বরূপ, আপনি AndroidX ব্যবহার করার জন্য লিখিত একটি উত্তরাধিকারী শ্রেণী দিয়ে আপনার নিজের ক্লাসগুলির একটি প্রতিস্থাপন করতে ম্যাপিং সংশোধন করতে পারেন।

একটি কাস্টম কনফিগারেশন ফাইল ব্যবহার করতে:

  1. ইউটিলিটির jetifier-core-*.jar ফাইল থেকে default.generated.config ফাইলটি বের করে সংরক্ষণ করুন।
  2. কনফিগার ফাইলের আপনার অনুলিপিতে প্রয়োজনীয় কোনো সম্পাদনা করুন।
  3. -c পতাকা দিয়ে আপনার ফাইলটি ইউটিলিটিতে পাঠান।

উদাহরণ স্বরূপ:

./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config