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

تكون جميع علامات إطلاق الميزات 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

مرحلة الإعداد الرئيسية هي إعداد إصدار تطويري لأنّ 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.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. أنشِئ تطبيق Android، وشغِّل الرمز الجديد للتأكّد من تفعيله وفقًا للإعدادات في ملف قيم العلامات.