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

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

  1. WORKING_DIRECTORY /build/release/aconfig/trunk_staging/ এ নেভিগেট করুন।
  2. আপনার পতাকার মতো একই প্যাকেজ নামের একটি ডিরেক্টরি তৈরি করুন, যেমন com.example.android.aconfig.demo.flags যা Java এর জন্য একটি aconfig পতাকা ঘোষণা করুন -এ দেখানো হয়েছে।
  3. নতুন ডিরেক্টরিতে যান।
  4. ডিরেক্টরিতে, একটি ফ্ল্যাগ ভ্যালু ফাইল তৈরি করুন যা ফ্ল্যাগ ডিক্লেয়ারেশন ( .aconfig ) ফাইলে ব্যবহৃত নামটি একত্রিত করে, যেমন my_static_flag যা জাভার জন্য Declare an aconfig ফ্ল্যাগ _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.example.android.aconfig.demo.flags-all",
      package: "com.example.android.aconfig.demo.flags",
      srcs: [
        "*_flag_values.textproto",
      ]
    }
    

    কোথায়:

    • name হল Soong বিল্ড মডিউলের অনন্য নাম। Google aconfig-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 হলো আপনার সমস্ত পতাকা মান ফাইলের একটি তালিকা।
  9. ফাইলটি সংরক্ষণ করুন এবং আপনার সম্পাদক থেকে প্রস্থান করুন।

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

  11. অ্যান্ড্রয়েড তৈরি করুন, এবং ফ্ল্যাগ ভ্যালু ফাইলের সেটিং অনুসারে এটি সক্রিয় আছে কিনা তা যাচাই করতে আপনার নতুন কোডটি চালান।