ডিফল্টরূপে, সমস্ত বৈশিষ্ট্য লঞ্চ পতাকা 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_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
। সাধারণত, রিলিজ কনফিগারেশনের অংশ ফ্ল্যাগ মান ফাইলের জন্যpermission
READ_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) যে নামটি ব্যবহার করেছিলেন তা যুক্ত করুন।অ্যান্ড্রয়েড তৈরি করুন, এবং পতাকা মান ফাইলের সেটিং অনুযায়ী এটি সক্ষম হয়েছে তা নিশ্চিত করতে আপনার নতুন কোড চালান।
ডিফল্টরূপে, সমস্ত বৈশিষ্ট্য লঞ্চ পতাকা 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_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
। সাধারণত, রিলিজ কনফিগারেশনের অংশ ফ্ল্যাগ মান ফাইলের জন্যpermission
READ_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) যে নামটি ব্যবহার করেছিলেন তা যুক্ত করুন।অ্যান্ড্রয়েড তৈরি করুন, এবং পতাকা মান ফাইলের সেটিং অনুযায়ী এটি সক্ষম হয়েছে তা নিশ্চিত করতে আপনার নতুন কোড চালান।