چطوری ورژن اپلیکیشن را در اندروید استودیو تنظیم کنیم؟

چرا تنظیم کردن نسخه اپلیکیشن اهمیت دارد؟تنظیم کردن نسخه اپلیکیشن یکی از موارد مهم و اساسی در استراتژی ارتقاء و نگهداری اپلیکیشن شما است. تنظیم ورژن اپلیکیشن بسیار مهم است زیرا مواردی که در این پایین به آنها اشاره کردیم از آن استفاده می کنند:دانستن نسخه اپلیکیشن برای کاربران مهم است: کاربران باید اطلاعاتی درباره نسخه اپلیکیشنی که در گوشی خود نصب کرده اند و همچنین نسخه اپلیکیشنی که در آینده برای ارتقا برنامه بعد از هر بروزرسانی قابل دسترس خواهد بود داشته باشند.دانستن نسخه اپلیکیشن برای اپلیکیشن های دیگر مهم است: شامل برنامه هایی می شود که شما به عنوان یک مجموعه آنها را منتشر می کنید و در این صورت نیاز است تا سیستم بتواند ورژن اپلیکیشن هایی که به همدیگر ربط دارند و وابسته هستند را جستجو کند.دانستن نسخه اپلیکیشن برای مارکت پلیس ها مهم است: سرویس هایی که از طریق آنها برنامه های خود را منتشر می کنید مثلا کافه بازار یا گوگل پلی و…، ممکن است نیاز به جستجوی اپلیکیشن ها برحسب نسخه اپلیکیشن داشته باشند تا بتوانند نسخه را به کاربران نمایش دهند. یک مارکت پلیس همچنین ممکن است نیاز به بررسی نسخه برنامه داشته باشد تا سازگاری ها را بررسی کند و تشخیص بدهد که چه ورژن از کدام اپلیکیشن را در منابع خود دارد.دانستن نسخه اپلیکیشن برای سیستم عامل اندروید مهم است: سیستم عامل اندروید از اطلاعاتی که مربوط به نسخه اپلیکیشن شما می شود برای محافظت در برابر دانگرید (به معنی پایین آوردن ورژن یک نرم افزار) استفاده می کند. این سیستم از این اطلاعات برای اعمال محدودیت در به روزرسانی یا سازگاری برنامه های شخص ثالث استفاده نمی کند و این اپلیکیشن شما است که باید محدودیت های نسخه را اعمال کند و باید در مورد آنها به کاربران بگوید.سیستم آندروید سازگاری نسخه سیستم را مطابق با تنظیم minSdkVersion در فایل های build بیان می کند. این تنظیم به یک برنامه اجازه می دهد تا حداقل API سیستم که با آن سازگار است را مشخص کند.اطلاعات ورژن اپلیکیشن را تنظیم کنیدبرای تعریف اطلاعات مربوط به نسخه اپلیکیشن در اندروید استودیو، باید مقادیر نسخه را در فایل های Gradle build تنظیم کنید. این مقادیر سپس در فرایند build کردن در فایل manifest (مانیفست) برنامه شما ادغام می شوند.توجه: اگر اپلیکیشن شما نسخه اپلیکیشن را مستقیماً در المان <manifest> تعریف می کند، مقادیر نسخه موجود در فایل Gradle build از بین می رود. علاوه بر این، تعریف این تنظیمات در فایل های Gradle build به شما امکان می دهد مقادیر مختلفی را برای نسخه های مختلف اپلیکیشن خود تعیین کنید. برای انعطاف پذیری بیشتر و جلوگیری از بازنویسی احتمالی هنگام ادغام ، باید این خصوصیات را از المان <manifest> حذف کرده و در عوض تنظیمات نسخه برنامه خود را در فایلهای Gradle build تعریف کنید.دو مورد تنظیم در دسترس است و شما همیشه باید مقادیر مربوط به هر دو را تعریف کنید:1- ورژن کد | versionCode :یک عدد صحیح مثبت است که به عنوان شماره نسخه داخلی استفاده می شود. این شماره فقط برای تعیین اینکه آیا یک نسخه جدیدتر از نسخه دیگر است، استفاده می شود. این شماره نسخه نمایش داده شده به کاربران نیست. این شماره توسط تنظیمات versionName تنظیم شده است.سیستم اندرویدی از مقدار versionCode استفاده می کند تا کاربران نتوانند یک فایل .APK را با یک versionCode کمتر از ورژنی که روی دستگاه آنها نصب کرده اند، نصب کنند.مقدار versionCode یک عدد صحیح مثبت است به طوری که سایر برنامه ها می توانند برنامه نویسی آن را ارزیابی کنند.شما می توانید مقدار را روی هر عدد صحیح مثبت مورد نظر خودتان تنظیم کنید، اما باید اطمینان حاصل کنید که هر نسخه ریلیز از برنامه شما از یک مقدار بیشتر استفاده می کند. شما نمی توانید فایل APK را در گوگل پلی (Google Play) که با versionCode که قبلاً برای نسخه قبلی از آن استفاده کرده اید را آپلود کنید.توجه: در برخی از موقعیت های خاص ، ممکن است بخواهید نسخه ای از اپلیکیشن خود را با یک versionCode پایین تر از نسخه جدید بارگذاری کنید.به طور معمول ، شما باید اولین نسخه از اپلیکیشن خود را با versionCode تنظیم شده بر روی 1 ریلیز کنید، به طور یکنواخت مقدار با هر نسخه را افزایش می دهد ، صرف نظر از این که این نسخه یک انتشار ریلیز یا جزئی را تشکیل می دهد. این بدان معنی است که مقدار versionCode لزوماً شباهت کاملی با نسخه ریلیز برنامه قابل مشاهده برای کاربر ندارد.هشدار: بیشترین مقداری که گوگل پلی برای versionCode اجازه می دهد 2100000000 می باشد.2- ورژن نیم | versionName :رشته ای است که به عنوان شماره نسخه نشان داده شده به کاربران استفاده می شود. این مقدار می تواند به عنوان یک رشته خام یا به عنوان مرجع یک منبع رشته مشخص شود.این مقدار رشته ای به گونه ای است که می توانید نسخه اپلیکیشن را به عنوان <major> . <minor>. <point> یا هر نوع دیگری از شناسه نسخه مطلق یا نسبی توصیف کنید. versionName هدفی بجز اینکه به کاربران نمایش داده شود ندارد.شما می توانید مقادیر پیش فرض مربوط به این تنظیمات را با درج آنها در بلوک {} defaultConfig که در داخل {} android از توابع build.gradle ماژول تان قرار دارد ، تعریف کنید. سپس می توانید با تعیین مقادیر جداگانه برای build types و product flavors ، این مقادیر پیش فرض را برای نسخه های مختلف برنامه خود لغو کنید. فایل build.gradle زیر تنظیمات versionCode و versionName را در بلوک {} defaultConfig و همچنین بلوک productFlavors shows shows نشان می دهد.android { ... defaultConfig { ... versionCode 2 versionName &quot1.1&quot } productFlavors { demo { ... versionName &quot1.1-demo&quot } full { ... } } }در بلاک {} defaultConfig از این مثال ، مقدار versionCode نشان می دهد که APK فعلی شامل نسخه دوم برنامه است و رشته versionName مشخص می کند که به عنوان نسخه 1.1 برای کاربران ظاهر می شود. این فایل build.gradle همچنین دو تا productFlavors که شامل “demo” و “full” است را تعریف می کند.از آنجا که”demo” product flavor را به عنوان “1.1-demo” تعریف می کند ، فایل build.gradle به جای مقدار پیش فرض از این versionName استفاده می کند.بلوک full” product flavor” ، مقداری versionName را تعریف نمی کند ، بنابراین از مقدار پیش فرض “1.1” استفاده می کند.الزامات سطح API را مشخص کنیداگر اپلیکیشن شما نیاز به حداقل نسخه خاص از سیستم عامل اندروید دارد ، می توانید آن نیاز به نسخه را به عنوان تنظیمات سطح API در فایل build.gradle اپلیکیشن مشخص کنید. در طی مراحل build ، این تنظیمات در فایل manifest برنامه شما ادغام می شوند. مشخص کردن نیازهای سطح API تضمین می کند که برنامه شما فقط در دستگاههایی که نسخه سازگار با سیستم عامل Android را اجرا می کنند قابل نصب است.توجه: اگر الزامات سطح API را مستقیماً در فایل manifest برنامه خود تعیین کنید، تنظیمات مربوطه در فایلهای build تنظیمات موجود در فایل manifest را نادیده می گیرد. علاوه بر این ، تعریف این تنظیمات در فایل های Gradle build به شما امکان می دهد مقادیر مختلفی را برای نسخه های مختلف برنامه خود تعیین کنید. برای انعطاف پذیری بیشتر و جلوگیری از بازنویسی احتمالی هنگام ادغام ، باید این خصوصیات را از عنصر <uses-sdk> حذف کرده و در عوض تنظیمات سطح API خود را در فایل های Gradle build تعریف کنید.دو راه برای تنظیمات سطح API در دسترس است:minSdkVersion – حداقل نسخه پلتفرم اندرویدی که اپلیکیشن در آن اجرا خواهد شد، توسط شناسه سطح API این پلتفرم مشخص شده است.targetSdkVersion – سطح API را که برنامه برای اجرای آن طراحی شده است، مشخص می کند. در بعضی موارد به برنامه اجازه می دهد از عناصر آشکار یا رفتارهای تعریف شده در سطح API هدف استفاده کند ، نه اینکه فقط به مواردی که برای حداقل سطح API تعریف شده محدود شود.برای مشخص کردن نیازهای پیش فرض سطح API در یک فایل build.gradle، تنظیمات فوق را به بلوک {} defaultConfig که داخل بلوک {} android قرار دارد اضافه کنید.همچنین می توانید با افزودن تنظیمات برای build types or product flavors ، این مقادیر پیش فرض را برای نسخه های مختلف برنامه خود نادیده بگیرید. فایل build.gradle زیر تنظیمات پیش فرض minSdkVersion و targetSdkVersion را در بلاک {} defaultConfig مشخص کرده و minSdkVersion را برای یک product flavor بازنویسی می کند.android { ... defaultConfig { ... minSdkVersion 14 targetSdkVersion 24 } productFlavors { main { ... } afterLollipop { ... minSdkVersion 21 } } }هنگامی که شما در حال آماده سازی برای نصب برنامه خود هستید، سیستم مقدار این تنظیمات را بررسی می کند و آنها را با نسخه سیستم مقایسه می کند. اگر مقدار minSdkVersion از نسخه سیستم بیشتر باشد ، سیستم مانع از نصب برنامه می شود.اگر این تنظیمات را مشخص نکنید ، سیستم فرض می کند که برنامه شما با تمام نسخه های پلتفرم سازگار است.امیدواریم از این مقاله استفاده کرده باشید و به سری یادگیری های شما در آموزش اندروید کمک کرده باشد.