نسخه چاپی
فهرست مطالب

پیش از آن‌که برنامه خود را در بازار منتشر کنید و در اختیار کاربران‌تان قرار دهید، باید چند مرحله را طی کنید. بعد از انجام این مراحل ساده، فایل apk رمزگذاری‌شده‌ای در اختیار شما قرار خواهد گرفت که می‌توانید آن را در بازار بارگذاری کنید و برای نصب به کاربران‌تان ارائه دهید.

۱- نام‌گذاری بسته

پیش از انجام هر کاری، مطمئن شوید که نام بسته (package name) مناسبی برای برنامه‌تان انتخاب کرده‌اید. از آن‌جایی‌که پس از انتشار برنامه امکان تغییر نام بسته وجود ندارد، قبل از آن‌که اولین نسخه برنامه خود را در اختیار کاربران قرار دهید، حتماً از مناسب‌بودن نام بسته‌ آن اطمینان پیدا کنید. برای آشنایی با نحوه انتخاب نام بسته می‌توانید «اصول نام‌گذاری بسته برنامه» را بخوانید.

۲- رمزگذاری بسته

سیستم عامل اندروید پیش از آن‌که اجازه بدهد برنامه‌ای روی دستگاه نصب شود، بررسی می‌کند که برنامه با یک Certificate (گواهی) به صورت دیجیتالی امضا شده باشد. بنابراین، توجه داشته باشید که اگر برنامه‌ شما با این روش رمزگذاری نشده باشد، روی دستگاه کاربران نصب نخواهد شد.
اما این Certificate چیست و چه اطلاعاتی را در خود نگهداری می‌کند؟ این Certificate برای تشخیص هویت صاحب اصلی برنامه استفاده می‌شود و فقط توسعه‌دهنده‌ی برنامه، Private Key لازم برای دسترسی به آن را دارد. مجموعه‌ای که این Certificate و کلید آن را دربرمی‌گیرد، KeyStore نام دارد که در ادامه بیشتر با آن سروکار خواهیم داشت. 

روش‌های امضاکردن برنامه

برای امضای برنامه دو روش کلی وجود دارد که هرکدام در شرایط متفاوتی کاربرد دارد؛ شما می‌توانید برنامه‌ خود را یا در Debug و یا در Release Mode امضا کنید. زمانی‌که در حال ساخت برنامه‌ هستید، آن را در Debug Mode امضا می‌کنید و زمانی‌که قصد انتشار برنامه‌ را دارید، آن را در Release Mode امضا می‌کنید.
اولین روش که صرفاً برای تست برنامه کاربرد دارد، استفاده از کلید Debug اندروید است. این کلید توسط Android SDK ساخته و هنگام ساخت و تست برنامه استفاده می‌شود. هدف از استفاده از این کلید سرعت‌بخشیدن به تست برنامه است. در روش دوم، برای امضای برنامه در Release Mode باید KeyStore مخصوص خودتان را بسازید.

۱. امضای برنامه در Debug Mode

هنگام ساخت و تست برنامه خود، می‌توانید آن را با فایل کلیدی که توسط Android SDK Tools ساخته شده، امضا کنید. این فایل کلید، یک Private Key با رمز عبوری (password) شناخته‌شده دارد، که به کمک آن دیگر لازم نیست هربار برای اجرا و تست برنامه، رمز عبور را وارد کنید و درنتیجه کارتان سرعت می‌گیرد.
برای مثال، زمانی‌‌که برنامه‌تان را برای تست اجرا می‌کنید، Android Studio به‌طور خودکار برنامه شما را از محیط توسعه‌ی نرم‌افزار امضا می‌کند و ممکن است شما متوجه فرآیند امضاشدن برنامه نشوید.

توجه: شما می‌توانید برنامه‌ای را که با کلید دیباگ امضا شده، روی شبیه‌سازها یا دستگاهی که برای تست با کابل USB به کامپیوتر خود متصل کرده‌اید، نصب و اجرا کنید؛ اما نمی‌توانید برنامه امضاشده با کلید دیباگ را در بازار یا گوگل‌پلی بارگذاری کنید و دراختیار کاربران‌تان قرار دهید.

به صورت پیش‌فرض، تنظیمات دیباگ از یک Debug KeyStore و یک Private Key با رمز عبورهای شناخته‌شده استفاده می‌کند. شما می‌توانید Debug KeyStore را در مسیر زیر پیدا کنید:

۲. امضای برنامه در Release Mode

پس از انجام مراحل ساخت و تست برنامه، باید بسته‌ای تولید کنید که مناسب ارائه به کاربران‌تان باشد. در این مرحله شما باید برنامه را با یک Certificate امضا کنید. این Certificate به شما اختصاص دارد و تنها شما از رمز عبور و Private Key آن آگاه هستید. برای انجام این کار، مراحل زیر را انجام دهید:

۱. یک KeyStore بسازید. KeyStore یک فایل باینری (binary) است که مجموعه‌ای از چند Private Key را دربرمی‌گیرد. پس از ساخت این فایل، آن را در چند محل امن ذخیره کنید تا احتمال ازدست‌دادن آن را تا حد ممکن کاهش دهید. 

یادداشت: در برخی ابزارهای توسعه‌ی برنامه، مانند Basic4Android، ممکن است به‌جای KeyStore گزینه‌های دیگری مانند Private Sign Key به‌کاررفته باشد.

۲. یک Private Key بسازید. این کلید نمایان‌گر هویت شخص یا کمپانی توسعه‌دهنده‌ی برنامه است.

۳. پیکربندی امضا را به فایل Build اضافه کنید.

۴. پس از ساخت KeyStore و Private Key، در اندروید استودیو assembleRelease را فرابخوانید.

یادداشت: پس از امضای برنامه، می‌توانید بسته‌ی آماده‌شده را در مسیر زیر پیدا کنید:‌

app/build/apk/app-release.apk

هشدار: حتماً از KeyStore و Private Key خود چند Backup تهیه کنید و آن‌ها را در محلی امن نگهداری کنید. اگر برنامه‌ خود را در بازار منتشر کنید و سپس کلید آن را گم کنید، در آینده نمی‌توانید برای آن بروزرسانی ارائه دهید.

۳. امضای برنامه در Android Studio

برای امضای برنامه خود در Release Mode و در محیط Android Studio، مراحل زیر را انجام دهید:

۱. در نوار بالای صفحه، گزینه‌ی Build و سپس گزینه‌ی Generate Signed APK را انتخاب کنید. 

۲. در پنجره‌ای که باز می‌شود، گزینه‌ی Create New را انتخاب کنید تا یک KeyStore جدید ایجاد شود. 

۳. در پنجره‌ی ایجاد KeyStore جدید، اطلاعات مورد نیاز را ثبت کنید.

احتیاط: در کادر Validity باید مدت‌زمان اعتبار این کلید را ثبت کنید. برای اطمینان از این‌که در آینده نیز می‌توانید برای برنامه‌ی خود بروزرسانی ارائه دهید، حداقل زمان اعتبار کلید را ۲۵ سال ثبت کنید.

۴. پس از تکمیل تمامی اطلاعات و انتخاب یک Private Key مختص خودتان، مسیر ذخیره‌ی فایل APK امضاشده را تعیین و دکمه‌ی Finish را انتخاب کنید.

۴. امضای برنامه در Command Line

برای امضای برنامه Android Studio تنها مسیر ممکن نیست و می‌توانید در Command Line نیز، با استفاده از ابزار استانداردی که Android SDK و JDK در اختیارتان قرار می‌دهد، بسته‌ی برنامه را امضا کنید. برای امضای برنامه از مسیر Command Line مراحل زیر را انجام دهید:

۱. ابتدا با استفاده از Keytool یک Private Key برای خودتان بسازید: 

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

۲. پس از اجرای دستور بالا، برای Keystore و Private Key رمز عبور تعیین کنید. همچنین باید برای کلید خود نام متمایزی انتخاب کنید. نامی که جایگزین عبارت alias-name می‌کنید، در مراحل بعدی و هنگام امضای بسته‌ی برنامه به کارتان می‌آید.

احتیاط: Keystore ساخته‌شده در این مرحله دربردارنده‌ی یک کلید است، که این کلید به مدت «۱۰۰۰۰» روز اعتبار دارد. برای این‌که کلید ساخته‌شده برای استفاده در بروزرسانی‌های بعدی برنامه نیز معتبر باشد، پیشنهاد می‌کنیم مقدار -validity را کمتر از این عدد درنظر نگیرید.

۳. پس از تعیین تمامی مقادیر خواسته‌شده، فایل my-release-key.KeyStore به‌دست می‌آید.

۴.برنامه‌ی خود را Release Mode کامپایل (compile) کنید، تا فایل امضا‌نشده‌ی APK دراختیار شما قرار بگیرد.

۵. در این مرحله، باید با استفاده از ابزاری به‌نام jarsigner، برنامه‌ی خود را با Private Key ساخته‌شده امضا کنید:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name

۶. پس از انجام دستور بالا، باید رمز عبوری را که در مرحله‌ی دوم برای KeyStore انتخاب کرده بودید، وارد کنید.

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

۸. در پایان از امضاشدن APK خود اطمینان پیدا کنید.

نکته: در اپ باندل می‌توانید با چگونگی امضای برنامه برای انتشار نسخه باندل آشنا شوید.

به مطالب ارائه شده چه امتیازی می‌دهید؟
محل نوشتن دیدگاه ...

اگر در مورد محتوا نظر یا پیشنهادی دارید لطفا برای ما بنویسید.

زمان انتشار: ۱۴۰۰-۰۳-۰۳ ۰۸:۳۰

آخرین به‌روزرسانی: ۱۴۰۰-۰۶-۱۵ ۰۹:۲۹