آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

productFlavor در گریدل

شنبه, ۱۲ تیر ۱۴۰۰، ۰۱:۱۶ ق.ظ

اگر بخواهیم از یک سورس کد دو تا خروجی با ویژگی های متفاوت بگیریم (مثلا نسخه free و paid) از productFlavor استفاده میکنیم. توی هر نسخه میشه ریسورس های مختلفی داد که در ادامه توضیح میدم.

کد زیر رو در بلاک android نوشتم:

flavorDimensions "dev"
productFlavors{
    free {
        dimension "dev"
        applicationIdSuffix ".free"
        buildConfigField "String", "BASE_URL", "\"https://freeversion.com\""
    }

    paid {
        dimension "dev"
        applicationIdSuffix ".paid"
        buildConfigField "String", "BASE_URL", '"https://paidversion.com"'
    }
}

در اینجا تکستی که قراره توی ورژن free و paid نشون داده بشه متفاوت هست. تکست توی ریسورس استرینگ تعریف شده. توی اندروید استودیو وارد مد project میشیم و در دایرکتوری src مسیر استرینگ رو مثل پروژه اصلی برای دایرکتوری های free و paid میسازیم. مثل شکل زیر:

بهتره که در پروژه اصلی و در حالت پیش فرض هم این مقدار تعریف بشه تا کرش پیش نیاد.

حالا با انتخاب هر کدوم از variant ها مقدار متناظر استرینگ جایگزین میشه.

 

خروجی:

موافقین ۰ مخالفین ۰ ۰۰/۰۴/۱۲
میم دال

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی