জিপলাইন

zipalign হল একটি জিপ আর্কাইভ অ্যালাইনমেন্ট টুল যা নিশ্চিত করতে সাহায্য করে যে আর্কাইভের সমস্ত অসংকুচিত ফাইল ফাইলের শুরুর সাথে সারিবদ্ধ করা হয়েছে। এটি ফাইলগুলিকে সরাসরি mmap(2) এর মাধ্যমে অ্যাক্সেস করতে দেয়, RAM-তে এই ডেটা অনুলিপি করার প্রয়োজনীয়তা দূর করে এবং আপনার অ্যাপের মেমরি ব্যবহার হ্রাস করে।

আপনার APK ফাইলটি শেষ ব্যবহারকারীদের মধ্যে বিতরণ করার আগে অপ্টিমাইজ করতে zipalign ব্যবহার করুন৷ আপনি যদি অ্যান্ড্রয়েড স্টুডিও ব্যবহার করে তৈরি করেন, যা অ্যান্ড্রয়েড গ্রেডল প্লাগইন (এজিপি) ব্যবহার করে, এটি স্বয়ংক্রিয়ভাবে সম্পন্ন হয়। এই ক্ষেত্রে, APK সারিবদ্ধ হয়েছে কিনা তা যাচাই করতে আপনার এখনও zipalign ব্যবহার করা উচিত, কিন্তু আপনাকে এটি সারিবদ্ধ করার দরকার নেই। এই ডকুমেন্টেশনটি মূলত কাস্টম বিল্ড সিস্টেমের রক্ষণাবেক্ষণকারীদের জন্য।

সতর্কতা: আপনাকে অবশ্যই বিল্ড প্রক্রিয়ার একটি নির্দিষ্ট পয়েন্টে zipalign ব্যবহার করতে হবে। আপনি কোন অ্যাপ-সাইনিং টুল ব্যবহার করেন তার উপর সেই পয়েন্টটি নির্ভর করে:

  • আপনি যদি apksigner ব্যবহার করেন, তাহলে APK ফাইল সাইন করার আগে zipalign ব্যবহার করতে হবে। আপনি যদি apksigner ব্যবহার করে আপনার APK স্বাক্ষর করেন এবং APK-এ আরও পরিবর্তন করেন, তাহলে এর স্বাক্ষর বাতিল করা হবে।
  • আপনি যদি jarsigner ব্যবহার করেন (প্রস্তাবিত নয়), zipalign ব্যবহার করতে হবে APK ফাইল সাইন করার পর

প্রান্তিককরণ অর্জন করতে, zipalign জিপ স্থানীয় ফাইল হেডার বিভাগে "extra" ক্ষেত্রের আকার পরিবর্তন করে। এই প্রক্রিয়াটি "extra" ক্ষেত্রে বিদ্যমান ডেটাও পরিবর্তন করতে পারে।

ব্যবহার

যদি আপনার APK-এ শেয়ার করা লাইব্রেরি ( .so ফাইল) থাকে, তাহলে 16KiB এবং 4KiB উভয় ডিভাইসেই mmap(2) এর জন্য উপযুক্ত একটি 16KiB পৃষ্ঠার সীমারেখার সাথে সারিবদ্ধ তা নিশ্চিত করতে -P 16 ব্যবহার করুন৷ অন্যান্য ফাইলের জন্য, যার সারিবদ্ধকরণ বাধ্যতামূলক অ্যালাইনমেন্ট আর্গুমেন্ট zipalign এর দ্বারা নির্ধারিত হয়, 32-বিট এবং 64-বিট উভয় সিস্টেমেই 4 বাইটে সারিবদ্ধ হওয়া উচিত।

infile.apk সারিবদ্ধ করতে এবং outfile.apk হিসাবে সংরক্ষণ করতে:

zipalign -P 16 -f -v 4 infile.apk outfile.apk

existing.apk এর প্রান্তিককরণ নিশ্চিত করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

zipalign -c -P 16 -v 4 existing.apk

অপশন

নিম্নলিখিত সারণী উপলব্ধ zipalign বিকল্পগুলি তালিকাভুক্ত করে:

অপশন বর্ণনা
-গ শুধুমাত্র প্রান্তিককরণ পরীক্ষা করে (ফাইল পরিবর্তন করে না)।
-চ বিদ্যমান আউটপুট ফাইল ওভাররাইট করে।
-জ টুল সাহায্য প্রদর্শন করে।
-P <pagesize_kb> কিবি-তে নির্দিষ্ট পৃষ্ঠার আকারে ফাইলগুলিকে .so সারিবদ্ধ করে। <pagesize_kb> এর জন্য বৈধ বিকল্পগুলি হল 4, 16, এবং 64৷
-পি 4KiB পৃষ্ঠা-সংকুচিত .so ফাইলগুলিকে সারিবদ্ধ করে। এর পরিবর্তে -P 16 ব্যবহার করার পরামর্শ দেওয়া হয়, কারণ -p অবহেলিত।
-v ভার্বোস আউটপুট।
-z Zopfli ব্যবহার করে পুনরায় সংকোচন করে।