একটি বিল্ড বৈকল্পিক লক্ষ্য

আপনার অ্যাপের যদি বিভিন্ন বিল্ড ভ্যারিয়েন্টের উপর ভিত্তি করে একাধিক সংস্করণ থাকে, তাহলে প্রতিটি ভ্যারিয়েন্টের জন্য আলাদা কিপ রুল তৈরি করুন। উদাহরণস্বরূপ, আপনার অ্যাপের যদি ভিন্ন ভিন্ন ফিচার ও ডিপেন্ডেন্সি সহ একটি ফ্রি টিয়ার এবং একটি পেইড টিয়ার থাকে, তাহলে প্রতিটি টিয়ারের নিজস্ব কিপ রুল থাকা উচিত।

নিয়ম তৈরি করুন

AGP 9.3+ এর জন্য:

আপনার অ্যাপের বিভিন্ন ফ্লেভারের জন্য নির্দিষ্ট কিপ রুলস বজায় রাখতে, প্রতিটি ফ্লেভারের জন্য কিপ রুলসগুলো প্রাসঙ্গিক কিপ রুলস সোর্স সেটে রাখুন। উদাহরণস্বরূপ, flavor1 এর জন্য, app/src/flavor1/keepRules/flavor1-rules.keep এ কিপ রুলসগুলো লিখুন।

এজিপি ৯.৩+ (কোটলিন)

android {
    buildTypes {
        release {
            optimization {
                enable = true // Enables code and resource optimizations.
            }
        }
    }
    flavorDimensions.add("version")
        productFlavors {
            create("flavor1") {
                ...
                // Place your keep rules in app/src/flavor1/keepRules/ with the file suffix .keep
            }
            create("flavor2") {
                ...
                // Place your keep rules in app/src/flavor2/keepRules/ with the file suffix .keep
            }
        }
}

এজিপি ৯.৩+ (গ্রুভি)

android {
    buildTypes {
        release {
            optimization {
                enable = true // Enables code and resource optimizations.
            }
        }
    }
    flavorDimensions "version"
    productFlavors {
        flavor1 {
            ...
        }
        flavor2 {
            ...
            // Place your keep rules in app/src/flavor2/keepRules/ with the file suffix .keep
        }
    }
}

AGP 9.3-এর পূর্ববর্তী সংস্করণগুলির জন্য:

কোনো বিল্ড ভ্যারিয়েন্টের জন্য নির্দিষ্ট কিপ রুল তৈরি করতে, productFlavors অধীনে সংশ্লিষ্ট ফ্লেভার ব্লকে proguardFiles প্রপার্টিটি যোগ করুন।

নিম্নলিখিত বিল্ড স্ক্রিপ্টটি বিবেচনা করুন যা flavor2 প্রোডাক্ট ফ্লেভারে flavor2‑rules.pro রুলস ফাইলটি যোগ করে:

লিগ্যাসি ডিএসএল (কোটলিন)

android {
    ...
    buildTypes {
        getByName("release") {
            isMinifyEnabled = true
            isShrinkResources = true
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    flavorDimensions.add("version")
        productFlavors {
            create("flavor1") {
                ...
            }
            create("flavor2") {
                proguardFile("flavor2-rules.pro")
            }
        }
}

লিগ্যাসি ডিএসএল (গ্রুভি)

android {
    ...
    buildTypes {
        release {
            minifyEnabled = true
            shrinkResources = true
            proguardFiles(
                getDefaultProguardFile('proguard-android-optimize.txt'),
                'proguard-rules.pro'
            )
        }
    }
    flavorDimensions "version"
    productFlavors {
        flavor1 {
            ...
        }
        flavor2 {
            proguardFile 'flavor2-rules.pro'
        }
    }
}

অতিরিক্ত সম্পদ