مقادیر پرچم راه اندازی ویژگی را تنظیم کنید

به طور پیش‌فرض، همه پرچم‌های راه‌اندازی ویژگی 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

مرحله‌بندی ترانک یک پیکربندی انتشار توسعه است زیرا گوگل از آن برای آزمایش ویژگی‌ها قبل از انتشار عمومی استفاده می‌کند. این پیکربندی عمدتاً از پرچم‌های READ_WRITE استفاده می‌کند که به شما امکان می‌دهد کد خود را با ویژگی‌های فعال یا غیرفعال در زمان اجرا آزمایش کنید.

در انتشار عمومی، از پیکربندی انتشار نسخه استفاده کنید. پیکربندی انتشار نسخه، عمدتاً از پرچم‌های READ_ONLY استفاده می‌کند و تمام کدهای فعال‌شده برای آن نسخه را منعکس می‌کند.

یک پرچم به پیکربندی انتشار trunk_staging اضافه کنید

برای آزمایش یک پرچم جدید، آن را به پیکربندی انتشار trunk_staging به شرح زیر اضافه کنید:

  1. به مسیر WORKING_DIRECTORY /build/release/aconfig/trunk_staging/ بروید.
  2. یک دایرکتوری با نام بسته مشابه با پرچم خود ایجاد کنید، مانند com.example.android.aconfig.demo.flags که در بخش Declare an aconfig flag for Java نشان داده شده است.
  3. به دایرکتوری جدید بروید.
  4. در دایرکتوری، یک فایل مقادیر پرچم ایجاد کنید که نام استفاده شده در فایل اعلان پرچم ( .aconfig ) را ترکیب کند، مانند my_static_flag که در Declare an aconfig flag for Java with _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 برای فایل‌هایی که مقادیر flag دارند و بخشی از پیکربندی انتشار هستند، روی 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 است. گوگل از قرارداد aconfig-values-platform_ PATH_TO_RELEASE_CONFIG_DIR - CONFIG_NAME - package.name -all استفاده می‌کند. این نام باید با نامی که soong به طور خودکار بر اساس اعلان aconfig_value_set در فایل Android.bp دایرکتوری والد تولید می‌کند، مطابقت داشته باشد. توجه داشته باشید که PATH_TO_RELEASE_CONFIG_DIR build_release است.
    • package شامل همان نام بسته‌ای است که در اعلان استفاده شده است.
    • srcs فهرستی از تمام فایل‌های مقادیر پرچم شماست.
  9. فایل را ذخیره کنید و از ویرایشگر خود خارج شوید.

  10. رفتن به دایرکتوری بالای دایرکتوری فعلی ( cd .. )

  11. اندروید را بسازید و کد جدید خود را اجرا کنید تا تأیید کنید که طبق تنظیمات موجود در فایل مقادیر پرچم فعال شده است.