ওভারভিউ তৈরি করা

Android তৈরি করতে AOSP Soong বিল্ড সিস্টেম ব্যবহার করে। Soong, Android-এর বিল্ড প্রসেস দ্রুততর করতে kati GNU Make ক্লোন টুল এবং Ninja বিল্ড সিস্টেম কম্পোনেন্ট ব্যবহার করে।

Soong বিল্ড ফাইলকে ব্লুপ্রিন্ট ফাইল বলা হয় এবং এর নাম Android.bp হয়। এইসব ফাইল সিনট্যাক্স ও সিম্যান্টিক্সে Bazel BUILD ফাইলের মতো।

Android.bp ফাইল ফর্ম্যাট সম্পর্কে আরও জানতে, Android.bp ফাইল ফর্ম্যাট দেখুন।

Make ফাইলকে Android.bp ফাইলে কনভার্ট করা সম্পর্কে আরও জানতে, Make ও Soong-এর তুলনা দেখুন।

ফিচার লঞ্চ ফ্ল্যাগ ও বিল্ড ফ্ল্যাগ

ফিচার লঞ্চ ফ্ল্যাগ হল বাইনারি ফ্ল্যাগ যা পরীক্ষিত কোড থেকে পরীক্ষা না করা কোডকে আলাদা করতে ব্যবহার করা হয়। আপনি যদি AOSP এক্সটার্নাল ডেভেলপমেন্ট ব্রাঞ্চের নিজস্ব মিরর বজায় রাখেন, তাহলে আপনার মিরর করা কোড স্থিতিশীল রাখতে এইসব ফ্ল্যাগ ব্যবহার করতে পারবেন। আপনি যদি পাবলিক এক্সটার্নাল ডেভেলপমেন্ট ব্রাঞ্চে কোড কন্ট্রিবিউট করেন, তাহলে আপনার রিভিউয়ার আপনাকে কোডের জন্য ফ্ল্যাগ প্রয়োগ করতে বলতে পারেন।

বিল্ড ফ্ল্যাগ হল বিল্ড-টাইম স্ট্রিং কনস্ট্যান্ট যা আপনার বিল্ড পরিবর্তন করতে ব্যবহৃত হয়, যেমন ঐচ্ছিকভাবে কোড লাইব্রেরি অন্তর্ভুক্ত করা।

বিভিন্ন কোড ব্রাঞ্চ সম্পর্কে আরও জানতে, রিলিজ লাইফসাইকেল দেখুন।

ফিচার লঞ্চ ফ্ল্যাগ ও বিল্ড ফ্ল্যাগের জন্য বিল্ড ফাইলে পরিবর্তন করতে হয়। এইসব ফ্ল্যাগ এবং বিল্ডে সেগুলি কীভাবে ব্যবহার করতে হয় সেই সম্পর্কে আরও তথ্য পেতে, ফিচার লঞ্চ ফ্ল্যাগের ওভারভিউ দেখুন।

R8-এর মাধ্যমে কোড ও রিসোর্স সরিয়ে দেওয়া

Soong, R8 কম্পাইলার ব্যবহার করে Java ও Kotlin টার্গেটকে ছোট ও অপ্টিমাইজ করে। এগুলি DEX বাইটকোড কম্পাইল করে, যেমন android_app, android_test ও ইনস্টল করা যায় এমন java_library মডিউল। android_library এবং স্ট্যাটিক java_library-এর মতো স্ট্যাটিক লাইব্রেরিতে, optimize ব্লক অ্যাটাচ করে এবং গ্রাহকের কাছে রেখে দেওয়ার নিয়ম এক্সপোর্ট করে।

R8 অপ্টিমাইজেশন ও কীপ নিয়ম কনফিগার করা সম্পর্কে আরও তথ্য পেতে, R8-এর মাধ্যমে প্ল্যাটফর্ম কোড ও রিসোর্স অপ্টিমাইজ করুন দেখুন।