logo

Hcody

🚀 روّج لعلامتك التجارية هنا — وصَل جمهورنا المذهل!
الرئيسية/ المقالات / run-debug-and-release-apps-on-android

كيفية تثبيت نسختي Debug و Release لنفس التطبيق جنباً إلى جنب في اندرويد

By هشام النحاس · نُشر في December 30, 2025

فصل نسختي التصحيح (Debug) والإطلاق (Release) في اندروبد

عند تطوير تطبيق اندرويد، عادة ما يقوم أمر flutter run باستبدال النسخة المثبتة حالياً من تطبيقك. هذا الأمر مزعج إذا كنت ترغب في الاحتفاظ بنسخة "الإنتاج/Release" (التي تحتوي على بياناتك الحقيقية) أثناء اختبار ميزات جديدة على نسخة "Debug".

الحل:

عن طريق إضافة applicationIdSuffix (لاحقة لمعرف التطبيق) في إعدادات البناء، سيتعامل نظام أندرويد مع نسخة Debug كتطبيق مختلف تماماً.

1. الفكرة الأساسية

نحتاج أن نخبر نظام Gradle بالآتي: "إذا كان نوع البناء هو Debug، قم بإضافة .debug إلى اسم الحزمة."
المعرف الأصلي: hesham.hcody.az
معرف نسخة التصحيح: hesham.hcody.az.debug

2. باستخدام Kotlin DSL (`build.gradle.kts`)

إذا كان مشروعك يستخدم Kotlin DSL (المعيار الحديث)، استخدم الكود أدناه. هذا يطابق الكود الذي قدمته في سؤالك.

android {
    // ... الإعدادات الحالية ...
    
    defaultConfig {
        applicationId = "hesham.hcody.az"
        // ...
    }

    buildTypes {
        getByName("debug") {
            // يضيف لاحقة لمعرف التطبيق، مما ينشئ نسخة جديدة منفصلة
            applicationIdSuffix = ".debug"
            // اختياري: يغير اسم الإصدار لتمييزه بسهولة
            versionNameSuffix = "-debug"
        }
        getByName("release") {
            signingConfig = signingConfigs.getByName("release")
        }
    }
}

3. باستخدام Groovy DSL (`build.gradle`)

إذا كنت تستخدم صيغة Groovy القديمة، فالمنطق هو نفسه ولكن طريقة الكتابة تختلف قليلاً.

android {
    // ... الإعدادات الحالية ...

    defaultConfig {
        applicationId "hesham.hcody.az"
        // ...
    }

    buildTypes {
        debug {
            // لا نستخدم علامة '=' في Groovy لهذه الخصائص
            applicationIdSuffix ".debug"
            versionNameSuffix "-debug"
        }
        release {
            // بافتراض أنك قمت بتعريف إعدادات التوقيع بالأعلى
            signingConfig signingConfigs.release
        }
    }
}
تم بنجاح!

الآن عند تشغيل التطبيق عبر Android Studio أو VS Code، سيتم تثبيت أيقونة منفصلة بجانب تطبيقك الأصلي دون مسح بياناته.

🚀 روّج لعلامتك التجارية هنا — وصَل جمهورنا المذهل!