جستجو برای:
سبد خرید 0
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
ورود
گذرواژه خود را فراموش کرده اید؟
عضویت

اطلاعات شخصی شما برای پردازش سفارش شما استفاده می‌شود، و پشتیبانی از تجربه شما در این وبسایت، و برای اهداف دیگری که در سیاست حفظ حریم خصوصی توضیح داده شده است.

ارسال مجدد کد یکبار مصرف (00:60)
  • 02171058559
  • info@amooznegar.com
  • لیست علاقه مندی ها
آکادمی آموزنگار
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

آکادمی آموزنگار > اخبار > برنامه نویسی > اندروید > ایجاد انواع Build Variant در اندروید

ایجاد انواع Build Variant در اندروید

1401-09-19
ارسال شده توسط آموزنگار
اندروید
ایجاد انواع Build Variant در اندروید

هنگام توسعه یک برنامه اندروید، ما به طور کلی به انواع مختلفی از APK ها نیاز داریم یا می توانید نسخه های مختلف APK را در مرحله توسعه و release بگویید. به عنوان مثال، ممکن است به یک debug APK بدون داشتن proguard یا یک debug APK با proguard نیاز داشته باشید یا ممکن است به یک APK برای کاربران رایگان(free users) و یک APK برای کاربران پرداختی(paid users) خود نیاز داشته باشید

Build Variant در اندروید

ممکن است به یک APK برای اندروید نسخه 6 و بالاتر و یک APK برای اندروید نسخه زیر 6 نیاز داشته باشید و بسیاری از امکانات دیگر که ممکن است وجود داشته باشد . اما سوال این است که چگونه می‌خواهید این تعداد نسخه از برنامه خود را ایجاد کنید. آیا قرار است پروژه های مختلفی برای این نسخه ها داشته باشید یا فقط یک پروژه کافی است؟ زیرا قرار است کد تقریباً ثابت بماند و فقط برخی از  APIها یا برخی از تنظیمات build تغییر کنند؟ بنابراین، چگونه می توان به این امر دست یافت؟ این کار را می توان با استفاده از Build Variant یعنی موضوع این مقاله به دست آورد.

تعریف Build Variant

در این مقاله قصد داریم Build Variant را تعریف کنیم و چگونه انواع مختلف ساخت در اندروید ایجاد کنیم. بنابراین، بیایید شروع کنیم.

Build Types و Build Variants

در حین ساختن هر برنامه اندرویدی، build type های مختلفی مانند “debug” و “release” را ایجاد می کنیم. در عین حال، ما می توانیم انواع های مختلف محصول را برای همان برنامه ایجاد کنیم، به عنوان مثال، نوع رایگان محصول برای کاربران رایگان و نوع پرداختی محصول برای کاربران پرداختی. بنابراین، اندروید استودیو ویژگی Build Variants را ارائه می‌کند که می‌توان آن را یک محصول دکارتی از همه  build type و همه انواع محصول شما در نظر گرفت.

build type

تنها کاری که باید انجام دهید این است که build type های مختلف را در فایل build.gradle در سطح ماژول خود اضافه کنید و در طول توسعه یا تولید، به سادگی می توانید Build Variant را که می خواهید test یا release (منتشر)کنید، انتخاب کنید.

توجه: به‌طور پیش‌فرض، Android Studio ،  Build Type های «debug» و «release» را برای پروژه شما ایجاد می‌کند.

گزینه Build Variant را می توانید در قسمت سمت چپ صفحه (بیشتر زیر Resource Manager) در Android Studio پیدا کنید یا به Build > Select Build Variant بروید یا به سادگی می توانید ctrl + shift + A را فشار دهید و “Build Variant” را جستجو کنید:

Build Variant

بنابراین، برای تغییر Build Type ، تنها کاری که باید انجام دهید این است که Build Type خود را از Build Variant انتخاب کنید و پس از همگام سازی(sync) پروژه، می توانید شروع به کار کنید. اما چگونه یک Build Type ایجاد کنیم؟

مصاحبه شغلی برنامه نویسان اندروید در گوگل
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

اضافه کردن Build Type

در این قسمت قصد داریم نحوه افزودن build types در اندروید را بیاموزیم.

به‌طور پیش‌فرض، هر زمان که پروژه‌ای را ایجاد می‌کنید، Android Studio دو build type برای پروژه ایجاد می‌کند، یعنی «debug» و «release». اما برای افزودن build type های بیشتر، باید آنها را به فایل build.gradle سطح ماژول خود و زیر بلوک buildTypes اضافه کنید. مثال زیر نمونه ای از همین موارد است:

android {
  
defaultConfig {
 
applicationId "com.mindorks"
 
versionCode 3
 
versionName "0.0.3"
 
...
 
}
 
 
buildTypes {
 
debug {
 
versionNameSuffix ".dev"
 
debuggable true
 
...
 
}
 
release {
 
debuggable false
 
minifyEnabled true
 
shrinkResources true
 
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
 
...
 
}
 
minifiedDebug {
 
versionNameSuffix ".dev"
 
debuggable true
 
minifyEnabled true
 
shrinkResources true
 
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
 
...
 
}
 
}
 
...
 
}

در کد بالا، سه build type وجود دارد که عبارتند از debug، release و minifiedDebug. debug و release همان است که توسط Android Studio با برخی property های اضافی تولید شده است و minifiedDebug ، build type جدیدی است که ترکیبی از debug + proguard است.

اگر به دقت به کد نگاه کنید، متوجه خواهید شد که در بلوک defaultConfig، version name برابر “0.0.3” است و در build type،  debug و minifedDebug، پسوند “.dev” را به version name اضافه می کنیم. این dev APK (توسعه دهنده) را از prod APK (تولید) متمایز می کند.

به طور مشابه، می توانید build type با نام noMinifedRelease را ایجاد کنید که ترکیبی از release + بدون proguard خواهد بود.

موارد خاصی وجود دارد که می خواهید از property های مشابه برخی از build type قبلی خود استفاده کنید و برخی از ویژگی ها را برای ایجاد یک build type جدید اضافه یا تغییر دهید. بنابراین، برای انجام این کار می توانید از initWith استفاده کنید:

newBuildType {
 
initWith debug
 
versionNameSuffix ".newbuild"
 
...
 
}

کد بالا کد یک build type جدید با نام newBuildType است. از آنجایی که ما از initWith debug استفاده می کنیم، بنابراین شامل تمام ویژگی های debug می شود و می توانید ویژگی های بیشتری به آن اضافه کنید یا می توانید برخی از ویژگی های debug را ویرایش کنید و موارد دیگر را همانطور که هست نگه دارید. در موقعیت ما، نسخهNameSuffix را ویرایش می کنیم و آن را با “.newbuild” به جای “.dev” که در debug وجود دارد تنظیم می کنیم.

۲۰ ابزار برتر برای توسعه اپلیکیشن های اندروید
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

توجه: اگر از Kotlin DSL در فایل build.gradle خود استفاده می کنید، برای افزودن build type ، باید از متد create(“yourBuildTypeName”) در بلوک buildTypes استفاده کنید.

افزودن گونه های محصول(Product Flavor)

شما می توانید گونه های محصول را به عنوان build type های برنامه خود در نظر بگیرید. به عنوان مثال، اگر محتوای متفاوتی را برای کاربران مختلف ارائه می‌کنید اما از یک code base استفاده می‌کنید، می‌توانید گونه های محصول را به برنامه خود اضافه کنید.

به عنوان مثال، می توانید گونه های محصول مانند “توسعه”( development) و “تولید”( production) را اضافه کنید، در داخل این گونه ها می توانید کلیدهای API مختلفی را برای روند کاری یکسان اضافه کنید. به عنوان مثال، می توانید API توسعه را در گونه توسعه(development flavor) و API تولید را در گونه تولید(production flavor) اضافه کنید.

برای افزودن گونه محصول باید بلوک productFlavors را در داخل بلوک اندروید اضافه کنید و هر گونه محصول باید flavor dimension داشته باشد:

android {
 
...
 
defaultConfig {...}
 
buildTypes {
 
debug{...}
 
release{...}
 
}
 
 
 
flavorDimensions "version"
 
productFlavors {
 
development {
 
dimension "version"
 
versionNameSuffix ".dev"
 
}
 
production {
 
dimension "version"
 
versionNameSuffix ".prod"
 
}
 
}
 
}

بهترین بخش گونه محصول(product flavor) این است که آنها با build type ها مرتبط هستند. به عنوان مثال، اگر دو build type به نام‌های «debug» و «release» و دو گونه محصول به نام‌های « development» و « production» دارید، انواع ساخت شما به این صورت خواهد بود:

  • developmentDebug
  • developmentRelease
  • productionDebug
  • productionRelease

اکنون، می توانید هر یک از build type ها را که می خواهید برایbuild  خود انتخاب کنید.

شما می توانید با جدا کردن هر dimension از سایر dimension ها با استفاده از کاما(,) به تعداد دلخواه dimension نوع محصول ایجاد کنید و با استفاده از”dimension “dimensionName از آن استفاده کنید. مثلا:

flavorDimension "dimensionOne", "dimensionTwo", "dimensionThree"

بنابراین، اینگونه است که می توانید گونه محصول را ایجاد کنید و از آن در برنامه خود برای ساخت ورژن های مختلف استفاده کنید.

قبلی سوالات مصاحبه برنامه نویس iOS
بعدی مقدمه ای بر زبان برنامه نویسی کاتلین

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • GoLang
  • jetpack compose
  • PHP
  • اپلیکیشن
  • امنیت
  • اندروید
  • اوپن سورس
  • برنامه نویسی
  • برنامه نویسی iOS
  • برنامه نویسی react native
  • پادکست صوتی
  • تکنولوژی
  • جاوا
  • طراح رابط کاربری
  • طراحی رابط کاربری
  • طراحی وب
  • عمومی
  • فریلنسر
  • فلاتر
  • فناوری
  • کاتلین
  • کتاب های آموزشی
  • کسب و کار
  • هوش مصنوعی
  • وردپرس
برچسب‌ها
admob coroutine dagger dagger-hilt jetpack nft rxandroid rxjava spring swift ارز دیجیتال امنیت در اندروید دارت فایربیس فوشیا مصاحبه کاری معماری mvi نقشه راه برنامه نویسی کاتلین گوگل

آکادمی آموزنگار، جایی برای آغاز یک سفر شگفت‌انگیز در دنیای برنامه‌نویسی است. آموزنگار تلاش می‌کند تا هر فردی را از هر سطحی از زندگی و تجربه به دنیای جذاب برنامه‌نویسی وارد کند.

دسترسی سریع
  • درباره ما
  • تماس با ما
  • حریم خصوصی
  • سوالات متداول
نمادها
شبکه های اجتماعی
Facebook Twitter Youtube icon--white Whatsapp

تهران، ازگل ، مجتمع تجاری الماس ایرانیان، پارک علم و فناوری فردا

021-71058559

تمامی حقوق برای آکادمی آموزنگار محفوظ می باشد

اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://amooznegar.com/?p=11420
ورود
استفاده از شماره تلفن
استفاده از آدرس ایمیل
آیا هنوز عضو نشده اید؟ ثبت نام کنید
بازیابی رمز عبور
استفاده از شماره تلفن
استفاده از آدرس ایمیل
ثبت نام
استفاده از شماره تلفن
استفاده از ایمیل
قبلا عضو شده اید؟ ورود به سیستم
محافظت توسط   
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

آموزنگار

آکادمی آموزنگار

  • 021-71058559
  • شنبه تا چهارشنبه از ساعت 8 تا 17
  • info@amooznegar.com