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

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

Trunk staging یک پیکربندی نسخه توسعه است زیرا Google از آن برای آزمایش ویژگی‌ها قبل از انتشار عمومی استفاده می‌کند. این پیکربندی عمدتاً از پرچم‌های 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 برای جاوا با _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 نام منحصر به فرد ماژول ساخت Soong است. 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. اندروید را بسازید و کد جدید خود را اجرا کنید تا مطمئن شوید که طبق تنظیمات فایل مقادیر پرچم فعال است.