ডিফল্টরূপে, সমস্ত বৈশিষ্ট্য লঞ্চ ফ্ল্যাগ READ_WRITE এবং DISABLED এ সেট করা থাকে। কোনও বৈশিষ্ট্য পরীক্ষা করার আগে, আপনাকে ফ্ল্যাগের জন্য একটি ফ্ল্যাগ ভ্যালু ফাইল তৈরি করে বিল্ডে ব্যবহৃত ডিফল্ট মান ওভাররাইড করতে হবে। একটি ফ্ল্যাগ ভ্যালু ফাইলে, আপনি একটি পৃথক পতাকার অবস্থা ( ENABLED অথবা DISABLED ) এবং অনুমতি ( READ_WRITE অথবা READ_ONLY ) সেট করেন।
একটি রিলিজ কনফিগারেশন হল এমন একটি ডিরেক্টরি যেখানে অ্যান্ড্রয়েডের একটি নির্দিষ্ট বিল্ডের জন্য সমস্ত ফ্ল্যাগ ভ্যালু ফাইল থাকে (কিছু নির্দিষ্ট বৈশিষ্ট্য সক্রিয় এবং অক্ষম সহ)।
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যা Java এর জন্য একটি aconfig পতাকা ঘোষণা করুন -এ দেখানো হয়েছে। - নতুন ডিরেক্টরিতে যান।
- ডিরেক্টরিতে, একটি ফ্ল্যাগ ভ্যালু ফাইল তৈরি করুন যা ফ্ল্যাগ ডিক্লেয়ারেশন (
.aconfig) ফাইলে ব্যবহৃত নামটি একত্রিত করে, যেমনmy_static_flagযা জাভার জন্য Declare an aconfig ফ্ল্যাগ_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.example.android.aconfig.demo.flags-all", package: "com.example.android.aconfig.demo.flags", srcs: [ "*_flag_values.textproto", ] }কোথায়:
-
nameহল Soong বিল্ড মডিউলের অনন্য নাম। Googleaconfig-values-platform_ PATH_TO_RELEASE_CONFIG_DIR - CONFIG_NAME - package.name -allএর কনভেনশন ব্যবহার করে। এই নামটি অবশ্যই সেই নামের সাথে মিলবে যা soong প্যারেন্ট ডিরেক্টরিরAndroid.bpফাইলেaconfig_value_setঘোষণার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে তৈরি হয়। মনে রাখবেন যেPATH_TO_RELEASE_CONFIG_DIRহলbuild_release। -
packageঘোষণায় ব্যবহৃত একই প্যাকেজ নাম রয়েছে। -
srcsহলো আপনার সমস্ত পতাকা মান ফাইলের একটি তালিকা।
-
ফাইলটি সংরক্ষণ করুন এবং আপনার সম্পাদক থেকে প্রস্থান করুন।
বর্তমান ডিরেক্টরির উপরে ডিরেক্টরিতে নেভিগেট করুন (
cd ..)অ্যান্ড্রয়েড তৈরি করুন, এবং ফ্ল্যাগ ভ্যালু ফাইলের সেটিং অনুসারে এটি সক্রিয় আছে কিনা তা যাচাই করতে আপনার নতুন কোডটি চালান।