ضبط قيم علامة إطلاق الميزة

تكون جميع علامات إطلاق الميزات مضبوطة تلقائيًا على 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_only_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 الموضّح في مقالة الإعلان عن علامة aconfig للغة Java.
  3. انتقِل إلى الدليل الجديد.
  4. في الدليل، أنشِئ ملف قيم العلامات الذي يجمع بين الاسم المستخدَم في ملف الإعلان عن العلامة (.aconfig)، مثل my_static_flag الموضّح في مقالة الإعلان عن علامة aconfig للغة Java باستخدام _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 اصطلاح convention of 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. أنشِئ Android، وشغِّل الرمز البرمجي الجديد للتأكّد من أنّه مفعَّل وفقًا للإعدادات في ملف قيم العلامات.