বৈশিষ্ট্য লঞ্চ পতাকা মান সেট করুন

ডিফল্টরূপে, সমস্ত বৈশিষ্ট্য লঞ্চ পতাকা 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 রিলিজ কনফিগারেশনে যুক্ত করুন নিম্নরূপ:

  1. WORKING_DIRECTORY /build/release/aconfig/trunk_staging/ এ নেভিগেট করুন
  2. আপনার পতাকার মতো একই প্যাকেজ নামের একটি ডিরেক্টরি তৈরি করুন, যেমন com.example.android.aconfig.demo.flags জাভা-এর জন্য একটি কনফিগ পতাকা ঘোষণা করুন -এ দেখানো হয়েছে।
  3. নতুন ডিরেক্টরিতে নেভিগেট করুন।
  4. ডিরেক্টরিতে, একটি পতাকা মান ফাইল তৈরি করুন যা পতাকা ঘোষণা ( .aconfig ) ফাইলে ব্যবহৃত নামকে একত্রিত করে, যেমন my_static_flag _flag_values.textproto সহ জাভা-এর জন্য একটি কনফিগ পতাকা ঘোষণা করুন -এ দেখানো হয়েছে। ফলস্বরূপ ফাইলের নাম হল my_static_flag_flag_values.textproto
  5. ফাইলটি সম্পাদনা করুন এবং নিম্নলিখিতগুলির মতো একটি 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 সেট করা হয়।
  6. ফাইলটি সংরক্ষণ করুন এবং আপনার সম্পাদক থেকে প্রস্থান করুন।

  7. পতাকা মান ফাইলের মতো একই ডিরেক্টরিতে, Android.bp নামে একটি বিল্ড ফাইল তৈরি করুন। এই ফাইলটি বিল্ডে পতাকা মান ফাইল অন্তর্ভুক্ত করতে ব্যবহৃত হয়।

  8. 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 হল সুং বিল্ড মডিউলের অনন্য নাম। Google aconfig-values-platform_ PATH_TO_RELEASE_CONFIG_DIR - CONFIG-NAME - package.name -all এর কনভেনশন ব্যবহার করে। মনে রাখবেন PATH_TO_RELEASE_CONFIG_DIR হল build/release
    • package ঘোষণায় ব্যবহৃত একই প্যাকেজ নাম রয়েছে।
    • srcs হল আপনার সমস্ত পতাকা মান ফাইলের একটি তালিকা।
  9. ফাইলটি সংরক্ষণ করুন এবং আপনার সম্পাদক থেকে প্রস্থান করুন।

  10. বর্তমান ডিরেক্টরির উপরের ডিরেক্টরিতে নেভিগেট করুন ( cd .. )

  11. Android.bp ফাইলটি সম্পাদনা করুন। এই বিল্ড ফাইলটিতে প্রতিটি পতাকা মান ফাইলের সাথে যুক্ত নামের ( name ) একটি তালিকা রয়েছে। এই তালিকায় আপনি আগের বিল্ড ফাইলে (ধাপ 8) যে নামটি ব্যবহার করেছিলেন তা যুক্ত করুন।

  12. অ্যান্ড্রয়েড তৈরি করুন, এবং পতাকা মান ফাইলের সেটিং অনুযায়ী এটি সক্ষম হয়েছে তা নিশ্চিত করতে আপনার নতুন কোড চালান।

,

ডিফল্টরূপে, সমস্ত বৈশিষ্ট্য লঞ্চ পতাকা 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 রিলিজ কনফিগারেশনে যুক্ত করুন নিম্নরূপ:

  1. WORKING_DIRECTORY /build/release/aconfig/trunk_staging/ এ নেভিগেট করুন
  2. আপনার পতাকার মতো একই প্যাকেজ নামের একটি ডিরেক্টরি তৈরি করুন, যেমন com.example.android.aconfig.demo.flags জাভা-এর জন্য একটি কনফিগ পতাকা ঘোষণা করুন -এ দেখানো হয়েছে।
  3. নতুন ডিরেক্টরিতে নেভিগেট করুন।
  4. ডিরেক্টরিতে, একটি পতাকা মান ফাইল তৈরি করুন যা পতাকা ঘোষণা ( .aconfig ) ফাইলে ব্যবহৃত নামকে একত্রিত করে, যেমন my_static_flag _flag_values.textproto সহ জাভা-এর জন্য একটি কনফিগ পতাকা ঘোষণা করুন -এ দেখানো হয়েছে। ফলস্বরূপ ফাইলের নাম হল my_static_flag_flag_values.textproto
  5. ফাইলটি সম্পাদনা করুন এবং নিম্নলিখিতগুলির মতো একটি 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 সেট করা হয়।
  6. ফাইলটি সংরক্ষণ করুন এবং আপনার সম্পাদক থেকে প্রস্থান করুন।

  7. পতাকা মান ফাইলের মতো একই ডিরেক্টরিতে, Android.bp নামে একটি বিল্ড ফাইল তৈরি করুন। এই ফাইলটি বিল্ডে পতাকা মান ফাইল অন্তর্ভুক্ত করতে ব্যবহৃত হয়।

  8. 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 হল সুং বিল্ড মডিউলের অনন্য নাম। Google aconfig-values-platform_ PATH_TO_RELEASE_CONFIG_DIR - CONFIG-NAME - package.name -all এর কনভেনশন ব্যবহার করে। মনে রাখবেন PATH_TO_RELEASE_CONFIG_DIR হল build/release
    • package ঘোষণায় ব্যবহৃত একই প্যাকেজ নাম রয়েছে।
    • srcs হল আপনার সমস্ত পতাকা মান ফাইলের একটি তালিকা।
  9. ফাইলটি সংরক্ষণ করুন এবং আপনার সম্পাদক থেকে প্রস্থান করুন।

  10. বর্তমান ডিরেক্টরির উপরের ডিরেক্টরিতে নেভিগেট করুন ( cd .. )

  11. Android.bp ফাইলটি সম্পাদনা করুন। এই বিল্ড ফাইলটিতে প্রতিটি পতাকা মান ফাইলের সাথে যুক্ত নামের ( name ) একটি তালিকা রয়েছে। এই তালিকায় আপনি আগের বিল্ড ফাইলে (ধাপ 8) যে নামটি ব্যবহার করেছিলেন তা যুক্ত করুন।

  12. অ্যান্ড্রয়েড তৈরি করুন, এবং পতাকা মান ফাইলের সেটিং অনুযায়ী এটি সক্ষম হয়েছে তা নিশ্চিত করতে আপনার নতুন কোড চালান।