ডিফল্টরূপে, সমস্ত বৈশিষ্ট্য লঞ্চ পতাকা READ_WRITE এবং DISABLED সেট করা হয়৷ আপনি একটি বৈশিষ্ট্য পরীক্ষা করার আগে, আপনাকে পতাকার জন্য একটি পতাকা মান ফাইল তৈরি করে বিল্ডে ব্যবহৃত ডিফল্ট মানটিকে ওভাররাইড করতে হবে। একটি পতাকা মান ফাইলে, আপনি একটি পৃথক পতাকার অবস্থা ( ENABLED বা DISABLED ) এবং অনুমতি ( READ_WRITE বা READ_ONLY ) সেট করেন৷
একটি রিলিজ কনফিগারেশন হল একটি ডিরেক্টরি যাতে Android এর একটি নির্দিষ্ট বিল্ডের জন্য সমস্ত পতাকা মান ফাইল থাকে (কিছু বৈশিষ্ট্য সক্রিয় এবং অক্ষম করা আছে)।
কয়েকটি রিলিজ কনফিগারেশন সহ AOSP শিপ করে, যেমন trunk_staging । রিলিজ কনফিগারেশন ডিরেক্টরিগুলি WORKING_DIRECTORY /build/release/aconfig/ অধীনে পাওয়া যায়।
আপনি যখন একটি লক্ষ্য নির্বাচন করতে lunch কমান্ড ব্যবহার করেন, তখন আপনি লক্ষ্যের জন্য রিলিজ কনফিগারেশনও সেট করছেন। উদাহরণস্বরূপ, নিম্নলিখিত একটি trunk_staging লক্ষ্য:
lunch aosp_cf_x86_64_only_phone-trunk_staging-userdebug
ট্রাঙ্ক স্টেজিং হল একটি ডেভেলপমেন্ট রিলিজ কনফিগারেশন কারণ Google সাধারণ রিলিজের আগে বৈশিষ্ট্যগুলি পরীক্ষা করতে এটি ব্যবহার করে। এই কনফিগারেশনটি বেশিরভাগ READ_WRITE পতাকা ব্যবহার করে যা আপনাকে রানটাইমে সক্ষম বা নিষ্ক্রিয় বৈশিষ্ট্যগুলির সাথে আপনার কোড পরীক্ষা করতে দেয়।
সাধারণ প্রকাশে, একটি রিলিজ রিলিজ কনফিগারেশন ব্যবহার করুন। একটি রিলিজ রিলিজ কনফিগারেশন বেশিরভাগই READ_ONLY পতাকা ব্যবহার করে এবং সেই রিলিজের জন্য সক্রিয় সমস্ত কোড প্রতিফলিত করে।
trunk_staging রিলিজ কনফিগারেশনে একটি পতাকা যোগ করুন
একটি নতুন পতাকা পরীক্ষা করতে, এটিকে trunk_staging রিলিজ কনফিগারেশনে যুক্ত করুন নিম্নরূপ:
-
WORKING_DIRECTORY /build/release/aconfig/trunk_staging/এ নেভিগেট করুন - আপনার পতাকার মতো একই প্যাকেজ নামের একটি ডিরেক্টরি তৈরি করুন, যেমন
com.example.android.aconfig.demo.flagsজাভা-এর জন্য একটি কনফিগ পতাকা ঘোষণা করুন -এ দেখানো হয়েছে। - নতুন ডিরেক্টরিতে নেভিগেট করুন।
- ডিরেক্টরিতে, একটি পতাকা মান ফাইল তৈরি করুন যা পতাকা ঘোষণা (
.aconfig) ফাইলে ব্যবহৃত নামকে একত্রিত করে, যেমনmy_static_flag_flag_values.textprotoসহ জাভা-এর জন্য একটি কনফিগ পতাকা ঘোষণা করুন- এ দেখানো হয়েছে। ফলস্বরূপ ফাইলের নাম হলmy_static_flag_flag_values.textproto। ফাইলটি সম্পাদনা করুন এবং নিম্নলিখিতগুলির মতো একটি
flag_valueযোগ করুন:flag_value { package: "com.example.android.aconfig.demo.flags" name: "my_static_flag" state: DISABLED Permission: READ_WRITE }কোথায়:
-
packageঘোষণায় ব্যবহৃত একই প্যাকেজ নাম রয়েছে। -
nameঘোষণায় ব্যবহৃত একই নাম রয়েছে। -
stateহয়ENABLEDবাDISABLED। -
permissionহয়READ_WRITEঅথবাREAD_ONLY। সাধারণত, রিলিজ কনফিগারেশনের অংশ ফ্ল্যাগ মান ফাইলের জন্যpermissionREAD_ONLYসেট করা হয়।
-
ফাইলটি সংরক্ষণ করুন এবং আপনার সম্পাদক থেকে প্রস্থান করুন।
পতাকা মান ফাইলের মতো একই ডিরেক্টরিতে,
Android.bpনামে একটি বিল্ড ফাইল তৈরি করুন। এই ফাইলটি বিল্ডে পতাকা মান ফাইল অন্তর্ভুক্ত করতে ব্যবহৃত হয়।Android.bpফাইলে, অনুরূপ একটিaconfig_valuesবিভাগ তৈরি করুন:aconfig_values { name: "aconfig-values-platform_build_release-trunk-staging-com.android.aconfig.test-all", package: "com.android.aconfig.test", srcs: [ "*_flag_values.textproto", ] }কোথায়:
-
nameহল সুং বিল্ড মডিউলের অনন্য নাম। Googleaconfig-values-platform_ PATH_TO_RELEASE_CONFIG_DIR - CONFIG-NAME - package.name -allএর কনভেনশন ব্যবহার করে। মনে রাখবেনPATH_TO_RELEASE_CONFIG_DIRহলbuild/release। -
packageঘোষণায় ব্যবহৃত একই প্যাকেজ নাম রয়েছে। -
srcsহল আপনার সমস্ত পতাকা মান ফাইলের একটি তালিকা।
-
ফাইলটি সংরক্ষণ করুন এবং আপনার সম্পাদক থেকে প্রস্থান করুন।
বর্তমান ডিরেক্টরির উপরের ডিরেক্টরিতে নেভিগেট করুন (
cd ..)Android.bpফাইলটি সম্পাদনা করুন। এই বিল্ড ফাইলটিতে প্রতিটি পতাকা মান ফাইলের সাথে যুক্ত নামের (name) একটি তালিকা রয়েছে। এই তালিকায় আপনি আগের বিল্ড ফাইলে (ধাপ 8) যে নামটি ব্যবহার করেছিলেন তা যুক্ত করুন।অ্যান্ড্রয়েড তৈরি করুন, এবং পতাকা মান ফাইলের সেটিং অনুযায়ী এটি সক্ষম হয়েছে তা নিশ্চিত করতে আপনার নতুন কোড চালান।