دمج Android Flavors مع Flutter: خطوات سهلة لربط تطبيقاتك

دمج Android Flavors مع Flutter: خطوات سهلة لربط تطبيقاتك

دمج Android Flavors مع Flutter: خطوات سهلة لربط تطبيقاتك

في هذا المقال، سنناقش كيفية دمج Android Flavors مع Flutter لإنشاء تطبيقات محمولة متعددة من قاعدة رمز واحدة. سيوضح هذا المقال الخطوات الأساسية لربط تطبيقات Flutter مع Android Flavors، مع التركيز على سهولة الفهم والتنفيذ.


ما هي Android Flavors؟

Android Flavors هي ميزة مدمجة في Android Studio تسمح لك بإنشاء تطبيقات متعددة من قاعدة رمز واحدة. تتيح لك هذه الميزة تخصيص تطبيقاتك لأجهزة مختلفة أو مجموعات مستخدمين مختلفة.


ما هي فوائد دمج Android Flavors مع Flutter؟

تقليل تكرار الكود: يمكنك مشاركة قاعدة الكود الأساسية بين جميع نكهات Android الخاصة بك، مما يقلل من تكرار الكود والصيانة.

تحسين الأداء: يمكنك تحسين أداء تطبيقك لكل نكهة من خلال تخصيص الموارد والأكواد.

اختبار سهل: يمكنك اختبار كل نكهة من نكهات Android بشكل مستقل، مما يسهل عملية الاختبار.

خطوات دمج Android Flavors مع Flutter:


إنشاء ملف build.gradle جديد:

قم بإنشاء ملف build.gradle جديد في مجلد android/app/src/main. يجب تسمية هذا الملف باسم "flavors.gradle".


تحديد نكهات Android:

في ملف flavors.gradle، حدد نكهات Android التي تريد إنشاؤها. يمكنك استخدام أي اسم لنكهات Android الخاصة بك.


تخصيص نكهات Android:

في ملف flavors.gradle، يمكنك تخصيص كل نكهة من نكهات Android. يمكنك تخصيص الموارد، مثل ملفات AndroidManifest.xml وstrings.xml، بالإضافة إلى تخصيص الكود.


خطوات تركيب Flavors  مع Android في Flutter

قم بعمل @string/app_name بداخل label في مجلد AndroidManifest.xml حتى يتم الحصول على الاسم من ملف string.xml


<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <application

        android:label="@string/app_name"

        android:name="${applicationName}"

        android:icon="@mipmap/ic_launcher">

...

..


الان انتقل الى المسار التالي android/app/build.gradle واضف بداخله الاكواد التاليه باسم defaultConfig وهيا بكل اختصار ان الامر flavorDimensions  عباره عن اسم الجروب وبداخله مجموعه من الطرق المختلفه للاستخراج ويفضل ان يكون جروب واحد كما هو موضح بالكود واسفله قمنا بعمل انشاء نسخه للrelase واخرىdevelopment وتكون للتطوير resValue هو ان العنصر من نوع string وبعدها اسم التطبيق في ملف string وبعدها اسم التطبيق بالنسبة applicationIdSuffix فهذا سوف يقوم باضافة .dev في حالة التطوير وهو عباره عن زيادة في app id 


دمج Android Flavors مع Flutter: خطوات سهلة لربط تطبيقاتك


    flavorDimensions "default"

    productFlavors {

      production {

          dimension "default"

          resValue "string", "app_name", "DocDoc Production"

      }

      development {

          dimension "default"

          applicationIdSuffix ".dev"

          resValue "string", "app_name", "DocDoc Development"

      }

  }


الان قم بعمل ملف جديد باسم .vscode اذا كنت تستخدم برنامج vscode في عملية التطوير وبداخله ملف باسم launch.json وضع بداخله الكود التالي وبالنسبة version فهذا اصدار flavor واسفله نسخه Development واخرى Production وبالنسبة program فهو مسار فتح التطبيق 

دمج Android Flavors مع Flutter: خطوات سهلة لربط تطبيقاتك


launch.json


{

    "version": "0.2.0",

    "configurations": [

      {

        "name": "DocDoc Development",

        "request": "launch",

        "type": "dart",

        "program": "lib/main_development.dart",

        "args": ["--flavor", "Development", "--target", "lib/main_development.dart" ]

      },

      {

        "name": "DocDoc Production",

        "request": "launch",

        "type": "dart",

        "program": "lib/main_production.dart",

        "args": ["--flavor", "Production", "--target", "lib/main_production.dart" ]

      }

    ],

  }


الان في عملية run سوف تشاهد ظهور مسارين لتشغيل التطبيق الاول وهو relase والاخرى في وضع التطوير

دمج Android Flavors مع Flutter: خطوات سهلة لربط تطبيقاتك


docs flavors

تعليقات