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

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