آماده سازی یک اپلیکیشن برای انتشار در زامارین (قسمت اول)

در این مقاله قصد داریم به شما آموزش دهیم که وقتی یک برنامه دیباگ شد و پایان یافت چگونه آن برنامه را منتشر کنیم و در بازارهای مربوط به فروش اپلیلکیشن آن را انتشار دهیم.این مقاله 3 قسمتی است که الان قسمت اول را برای شما قرار می دهیم.

آماده سازی یک اپلیکیشن برای انتشار در زامارین (قسمت اول)

پس از نوشتن کد و دیباگ کردن کد حالا زمان انتشار و امضای برنامه رسیده است

چیزهایی که لازم است:

1-انتخاب آیکون برای برنامه: ابتدا شما باید با توجه به برنامه ای که دارید یک آیکون برای برنامه خودتان درست کنید.

2-نسخه ی اپلیکیشن: این مرحله شما باید برای خودتان یک نسخه ی اپلیکیشن انتخاب نمایید تا هر وقت خواستید آن را بروز رسانی کنید.

3-کم کردن حجم برنامه: در این قسمت باید تا جایی که می توانید برنامه خودتان را کم نمایید.

4-محافظت از برنامه: این قسمت شما باید از برنامه ی خودتان حفاظت کنید و نگذارید افراد سود جو از برنامه ی شما استفاده نمایند.

5-تنظیمات بسته بندی برنامه :در این مرحله  apk خودتان را بهینه می نمایید.

6-کامپایل :در این قسمت شما برنامه ی خودتان را کامپایل می نمایید.

7- آرشیو کردن برنامه برای انتشار:شما باید حالا برنامه را آرشیو شده را انتشار نمایید.

در زیر می خواهیم موارد بالا را با جزئیات بیان کنیم

1-تنظیم کردن آیکون

برای اینکه برنامه تان قوی باشد و در بازار فروخته شود باید حتما از آیکون در برنامه تان استفاده نمایید برای ورژن های پایین قطعه کد زیر را می نوشتند

[assembly: Application(Icon = "@drawable/icon")]

ولی برای ورژن بالای vs مانند تصویر زیر باید انجام دهید

2- ورژن برنامه

در این قسمت نام ورژن و شماره ورژن را تعیین می نمایید

شماره ورژن به صورت عدد تعریف می شود

و نام ورژن به صورت رشته از 1 شروع می شود و تعریف می شود این کمک می کند به کاربر که از چه نسخه ای استفاده کند

3- کم کردن حجم برنامه

در این قسمت شما می توانید از کتابخانه هایی که استفاده نشده است و کلاس های که بی فایده است را حذف نمایید تا برنامه تان حجمش بهینه شود

برای اینکار از یک تنظیمات Linker استفاده می شود

این ابزار لینکر در واقع از برنامه قطع می کند و اجازه نمی دهد به برنامه وصل باشد و کتابخانه های دیگری که قابل استفاده نیست به آن اضافه شود

تنظیمات به صورت عکس زیر است

در تصویر بالایی یک منو دارد که شما می توانید ان را انتخاب نمایید

اولین گزینه none است که یعنی هیچ کدام از گزینه های داده شده

گزینه بعدی SDK Assemblies Only که فقط مربوط به زامارین را انجام می دهد

گزینه ی آخر Sdk and User Assemblies این گزینه همه مجموعه ها را در بر می گیرد

ProGuard

این یک ابزار برای sdk است که کد جاوا را لینک می کند این ابزار در واقع کد های جاوا که مورد نیاز و کتابخانه هایی که قابل استفاده نیستند را حذف می نماید

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

این گزینه زمانی که شما می خواهید برنامه تان انتشار دهید استفاده می شود در غیر این صورت فعال نیست

4-محافظت از برنامه

در طول توسعه یک برنامه Android، اشکال زدایی با استفاده از پروتکل اتصال جاوا دیجیتال (JDWP) انجام می شود.این برنامه اجازه می دهد تا برای اشکال زدایی از برنامه خودتان استفاده شوددر حالی که JDWP در حال توسعه است می تواند یک مورد امنیتی شناخته شود

این برنامه کنترل می کند که آیا برنامه خطایابی شده است یا نه. این عمل خوب برای تنظیم اندروید است ساده ترین روش به صورت زیر است

#if DEBUG
[assembly: Application(Debuggable=true)]
#else
[assembly: Application(Debuggable=false)]
#endif

حفاظت از برنامه با Dotfuscator

این گزینه با اشکال زدایی فعال شده و اجازه می دهد که ما مجوزی را اضافه یا حذف نماییم این گزینه در vs جدید اضافه شده است که اگر کسی از کد ها سو استفاده کرده باشد در این قسمت مشخص می شود شما آن را می توانید  در قسمت Tools > PreEmptive Protection - Dotfuscator انتخاب نمایید.

تبدیل کد اسمبلی به کد native

هنگامی که این گزینه انتخاب می شود در واقع کد شما را امن نگه می دارد و از گزینه ی شما حفاظت می کند این گزینه زمانی انتخاب می شود که مجوز enterprice داشته باشد

توجه داشته باشید که فقط برای تبدیل به کد native نیست برای کارهای دیگه ای هم انجام می دهند خود AOT compile یک ویژگی آزمایشی است نه برای تولید

کامپایلر AOT

این گزینه زمانی فعال می شود که برنامه در حال انتشار است در غیر این صورت برنامه حالت پیش فرض غیر فعال است و نیاز به مجوز های enterprice به بالا را دارد.

کامپایلر LLVM

این کامپایلر کد را کوچک تر و بهینه تر می کند اما هزینه ی زیادی را دارد و باید قبل از کار ابتدا AOT را فعال نمایید.

تنظیم خواص بسته بندی

این خواص را می توان مانند تصویر زیر انتخاب نمایید

این مورد برای زمان debug استفاده می شود با این حال به گونه ای تنظیم می شود که چگونه برنامه با سرعت و به اندازه قابل اجرا باشد

مشخص کردن معماری های پشتیبانی شده

زمانی که برنامه می رود برای انتشار شما می توانید معماری پردازنده ای که آن را پشتیبانی می کنید ببینید

تولید یک apk  در یک abi

این گزینه زمانی فعال می شود که شما برنامه را کامپایل کرده باشید و یک گزینه برای پشتیبانی از abi انتخاب می شود

Multi Dex

این گزینه زمانی که فعال شود برای دور زدن sdk است و اندازه از 65k به فرمت dex تبدیل می کند در واقع کتابخانه های جاوا را کوچک تر می کند بهتر است این گزینه را فعال نمایید که کتابخانه های جاوا را از حد مشخصی بیشتر مصرف نکند.

کامپایل

بعد از تمام شدن مراحل به قسمت debug  بروید توجه داشته باشید که هنوز برنامه تمام نشده است و این مرحله apk را درست نمی کند.

بایگانی برای انتشار برنامه

برای شروع باید روی پروژه کلیک راست نمایید و آیتم مورد نظر را انتخاب نمایید

با زدن آن شروع به آرشیو کردن برنامه می کند

راه دیگر این است که روی برنامه راست کلیک نمایید و گزینه ی all را انتخاب نمایید که همه ی پروژه های مربوط به زامارین را بایگانی می کند

می توانید گزینه ی زیر را انتخاب نمایید

با زدن گزینه ی زیر می توانید آرشیو خودتان را ببینید

خود مدیریت آرشیو ها از چند بخش تشکیل شده است که به صورت زیر است:

پنل آرشیو قسمت های مختلفی دارد مثل زیر:

Current Solution: این قسمت منبع در حال حاضر و موجود را برای نمایش می دهد.

All Archives:این قسمت تمام ارشیو هایی که وجود دارد را نمایش می دهد

Search:این قسمت فیلتر کردن قسمت های آرشیو شده را برعهده دارد

فهرست بایگانی لیست تمام بایگانی های انجام شده را نمایش می دهد

Selected solution name:در اینجا شما می توانید نام برای سولوشن خود انتخاب نمایید

Platforms Filter:این قسمت فیلتر کردن بایگانی ها را بر عهده دارد

Archive Items:موارد بایگانی:در این قسمت نام پروژه تاریخ ایجاد و پلت فرم قرار میگیرد، همچنین می تواند اطلاعات اضافی مانند پیشرفت زمانی که یک آیتم بایگانی شده یا منتشر می شود نشان دهد.

بخش آخر انتشار است

هنگامی که یک نسخه بایگانی شده از برنامه در حال انتشار است را نمایش می دهد

در این قسمت پیشرفت گردش انتشار یک کار  و انتخاب کانال های انتشار را نمایش می دهد

شما ممکن است از بین این کانال های بالا یکی را انتخاب نمایند

Ad-Hoc:این گزینه apk ای که امضا شده است می تواند به دستگاه های اندروید منتقل شود این روشی خوبی برای آزمایش یک برنامه است

Google Play

در واقع این قسمت برنامه ای که دیباگ شده و امضا شده و آماده ی انتشار در این قسمت انجام می شود.