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

برای آماده سازی برنامه خود برای انتشار، باید نسخه انتشاری برنامه خود را پیکربندی، بسازید و آزمایش کنید. وظایف پیکربندی شامل پاکسازی کد اولیه و کارهای اصلاح کد است که به بهینه سازی برنامه شما کمک می کند. فرآیند ساخت شبیه به فرآیند ساخت اشکال زدایی است و با استفاده از ابزارهای JDK و Android SDK قابل انجام است.

کارهای آزمایشی به عنوان یک بررسی نهایی عمل می‌کنند و به شما کمک می‌کنند تا مطمئن شوید که برنامه شما در شرایط واقعی مطابق انتظار عمل می‌کند. Firebase مجموعه بزرگی از دستگاه های تست فیزیکی و مجازی را از طریق Firebase Test Lab ارائه می دهد که می توانید از آنها برای بهبود کیفیت برنامه خود استفاده کنید.

وقتی برنامه خود را برای انتشار آماده کردید، یک فایل APK امضا شده دارید که می توانید آن را مستقیماً بین کاربران توزیع کنید یا از طریق یک بازار برنامه مانند Google Play توزیع کنید.

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

توجه: به عنوان بهترین روش، قبل از انجام وظایف ذکر شده در این صفحه، مطمئن شوید که برنامه شما همه معیارهای انتشار شما را برای عملکرد، عملکرد و پایداری دارد.

نشان می دهد که چگونه فرآیند آماده سازی با فرآیند توسعه مطابقت دارد

شکل 1. آماده سازی برای انتشار یک کار توسعه ضروری است و اولین گام در فرآیند انتشار است.

وظایف برای آماده شدن برای انتشار

برای انتشار برنامه خود برای کاربران، باید یک بسته آماده برای انتشار ایجاد کنید که کاربران بتوانند آن را نصب و بر روی دستگاه های مجهز به اندروید خود اجرا کنند. بسته آماده انتشار شامل همان مؤلفه‌های فایل APK اشکال‌زدایی است - کد منبع کامپایل شده، منابع، فایل مانیفست و غیره - و با استفاده از ابزارهای ساخت یکسان ساخته شده است. با این حال، بر خلاف فایل APK اشکال زدایی، فایل APK آماده انتشار با گواهینامه شما امضا شده و با ابزار zipalign بهینه شده است.

پنج وظیفه را که برای آماده کردن برنامه خود برای انتشار انجام می دهید، نشان می دهد

شکل 2. پنج کار اصلی برای آماده سازی برنامه شما برای انتشار وجود دارد.

اگر برنامه خود را با Android Studio می‌سازید، وظایف امضا و بهینه‌سازی معمولاً یکپارچه هستند. برای مثال، می‌توانید از اندروید استودیو با فایل‌های ساخت Gradle برای کامپایل، امضا و بهینه‌سازی برنامه‌تان به‌صورت هم‌زمان استفاده کنید. همچنین می‌توانید فایل‌های ساخت Gradle را طوری پیکربندی کنید که هنگام ساخت از خط فرمان، همین کار را انجام دهد. برای جزئیات بیشتر در مورد استفاده از فایل های ساخت Gradle، به پیکربندی ساخت خود مراجعه کنید.

برای آماده سازی برنامه خود برای انتشار، معمولاً پنج کار اصلی را انجام می دهید، همانطور که در شکل 2 نشان داده شده است. هر وظیفه اصلی ممکن است شامل یک یا چند کار کوچکتر باشد، بسته به اینکه چگونه برنامه خود را منتشر می کنید. به عنوان مثال، اگر برنامه خود را از طریق Google Play منتشر می کنید، ممکن است بخواهید قوانین فیلترینگ خاصی را در حالی که برنامه خود را برای انتشار پیکربندی می کنید به مانیفست خود اضافه کنید. به طور مشابه، برای رعایت دستورالعمل‌های انتشار Google Play، ممکن است مجبور شوید هنگام جمع‌آوری مطالب برای انتشار، اسکرین‌شات‌ها و متن تبلیغاتی ایجاد کنید.

شما معمولاً پس از اینکه برنامه خود را به طور کامل اشکال زدایی و آزمایش کردید، وظایف ذکر شده در شکل 2 را انجام می دهید. Android SDK حاوی چندین ابزار است که به شما کمک می کند برنامه های Android خود را آزمایش و اشکال زدایی کنید. برای اطلاعات بیشتر، به اشکال‌زدایی برنامه و تست برنامه خود مراجعه کنید.

مواد و منابع را جمع آوری کنید

برای آماده سازی برنامه خود برای انتشار، باید چندین مورد پشتیبانی را جمع آوری کنید. حداقل، این شامل کلیدهای رمزنگاری برای امضای برنامه شما و نماد برنامه است. همچنین ممکن است بخواهید قرارداد مجوز کاربر نهایی را نیز درج کنید.

کلیدهای رمزنگاری

Android می‌خواهد همه فایل‌های APK قبل از نصب روی دستگاه یا به‌روزرسانی، به‌صورت دیجیتالی با گواهی امضا شوند. برای فروشگاه Google Play ، همه برنامه‌هایی که پس از اوت 2021 ایجاد شده‌اند، باید از Play App Signing استفاده کنند. اما برای آپلود AAB خود در Play Console همچنان باید آن را با گواهی توسعه دهنده خود امضا کنید. برنامه‌های قدیمی‌تر همچنان می‌توانند خود امضا کنند، اما چه از Play App Signing استفاده می‌کنید یا از خود امضا می‌کنید، قبل از اینکه بتوانید آن را آپلود کنید، باید برنامه خود را امضا کنید.

برای آشنایی با الزامات گواهی، به امضای برنامه خود مراجعه کنید.

مهم: برنامه شما باید با یک کلید رمزنگاری امضا شود که دوره اعتبار آن پس از ۲۲ اکتبر ۲۰۳۳ به پایان می‌رسد.

همچنین اگر برنامه شما به سرویسی دسترسی پیدا می کند یا از کتابخانه شخص ثالثی استفاده می کند که شما را ملزم به استفاده از کلید مبتنی بر کلید خصوصی شما می کند، ممکن است مجبور شوید کلیدهای انتشار دیگری را نیز دریافت کنید.

نماد برنامه

نماد برنامه شما به کاربران کمک می‌کند برنامه شما را در صفحه اصلی دستگاه و در پنجره راه‌انداز شناسایی کنند. همچنین در Manage Applications، My Downloads و جاهای دیگر ظاهر می شود. علاوه بر این، خدمات انتشاراتی مانند Google Play نماد شما را به کاربران نمایش می دهد. مطمئن شوید که نماد برنامه دارید و دستورالعمل‌های نماد توصیه‌شده را رعایت می‌کند.

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

قرارداد مجوز کاربر نهایی

یک قرارداد مجوز کاربر نهایی (EULA) را برای برنامه خود آماده کنید. یک EULA می تواند به محافظت از شخص، سازمان و مالکیت معنوی شما کمک کند، و توصیه می کنیم برنامه خود را ارائه دهید.

مواد متفرقه

همچنین ممکن است مجبور شوید مواد تبلیغاتی و بازاریابی را برای عمومی کردن برنامه خود آماده کنید. به عنوان مثال، اگر برنامه خود را در Google Play منتشر می کنید، باید متنی تبلیغاتی تهیه کنید و باید از برنامه خود اسکرین شات بسازید. برای اطلاعات بیشتر، به افزودن دارایی‌های پیش‌نمایش برای نمایش برنامه خود مراجعه کنید.

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

پس از جمع آوری تمام مواد پشتیبانی خود، می توانید شروع به پیکربندی برنامه خود برای انتشار کنید. این بخش خلاصه ای از تغییرات پیکربندی را ارائه می دهد که توصیه می کنیم قبل از انتشار برنامه خود، در کد منبع، فایل های منبع و مانیفست برنامه خود ایجاد کنید.

اگرچه اکثر تغییرات پیکربندی ذکر شده در این بخش اختیاری هستند، اما به عنوان روش های کدنویسی خوب در نظر گرفته می شوند و ما شما را تشویق می کنیم که آنها را پیاده سازی کنید. در برخی موارد، ممکن است قبلاً این تغییرات پیکربندی را به عنوان بخشی از فرآیند توسعه خود ایجاد کرده باشید.

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

اطمینان حاصل کنید که شناسه برنامه ای را انتخاب کرده اید که در طول عمر برنامه شما مناسب باشد. بعد از اینکه برنامه خود را بین کاربران توزیع کردید، نمی توانید شناسه برنامه را تغییر دهید. برای تنظیم آن، از ویژگی applicationId در فایل build.gradle یا build.gradle.kts در سطح ماژول استفاده کنید. برای اطلاعات بیشتر، به تنظیم شناسه برنامه مراجعه کنید.

اشکال زدایی را خاموش کنید

برای پیکربندی اینکه آیا APK قابل اشکال‌زدایی است، از پرچم debuggable برای Groovy یا پرچم isDebuggable برای اسکریپت Kotlin استفاده کنید:

کاتلین

  android {
    ...
    buildTypes {
      release {
        isDebuggable = false
        ...
      }
      debug {
        isDebuggable = true
        ...
      }
    }
    ...
  }
  

شیار

  android {
    ...
    buildTypes {
      release {
        debuggable false
        ...
      }
      debug {
        debuggable true
        ...
      }
    }
    ...
  }

کوچک شدن برنامه را فعال و پیکربندی کنید

بسیاری از بهینه‌سازی‌های زیر را می‌توان با فعال کردن کوچک‌شدن برای نسخه انتشار خود خودکار کرد. برای مثال، می‌توانید قوانین ProGuard را برای حذف عبارات گزارش اضافه کنید، و شرینکر کد و منابع استفاده نشده را شناسایی و حذف می‌کند. کوچک‌کننده همچنین می‌تواند نام کلاس‌ها و متغیرها را با نام‌های کوتاه‌تر جایگزین کند تا اندازه DEX را کاهش دهد.

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

قبل از اینکه برنامه خود را برای انتشار بسازید، ورود به سیستم را غیرفعال کنید. می‌توانید با حذف تماس‌ها با روش‌های Log در فایل‌های منبع خود، ورود به سیستم را غیرفعال کنید. همچنین، فایل های گزارش یا فایل های تست ایستا که در پروژه شما ایجاد شده اند را حذف کنید.

همچنین، تمام تماس‌های Debug Tracing را که به کد خود اضافه کرده‌اید، مانند فراخوانی‌های متد startMethodTracing() و stopMethodTracing() حذف کنید.

مهم: اگر از WebView برای نمایش محتوای پولی استفاده می‌کنید یا از رابط‌های جاوا اسکریپت استفاده می‌کنید، مطمئن شوید که اشکال‌زدایی را برای برنامه خود غیرفعال کنید، زیرا اشکال‌زدایی به کاربران اجازه می‌دهد اسکریپت‌ها را تزریق کرده و محتوا را با استفاده از ابزارهای توسعه‌دهنده Chrome استخراج کنند. برای غیرفعال کردن اشکال زدایی، از متد WebView.setWebContentsDebuggingEnabled() استفاده کنید.

دایرکتوری های پروژه خود را تمیز کنید

پروژه خود را تمیز کنید و مطمئن شوید که با ساختار دایرکتوری شرح داده شده در نمای کلی پروژه ها مطابقت دارد. رها کردن فایل‌های سرگردان یا یتیم در پروژه‌تان می‌تواند مانع از کامپایل شدن برنامه شما شود و باعث شود برنامه شما عملکرد غیرقابل پیش‌بینی داشته باشد. حداقل، کارهای پاکسازی زیر را انجام دهید:

  • محتویات دایرکتوری های cpp/ ، lib/ و src/ خود را مرور کنید. فهرست cpp/ باید فقط حاوی فایل‌های منبع مرتبط با Android NDK باشد، مانند فایل‌های منبع C یا C++، فایل‌های سرصفحه یا فایل‌های ساخت. دایرکتوری lib/ باید فقط شامل فایل های کتابخانه شخص ثالث یا فایل های کتابخانه خصوصی، از جمله کتابخانه های مشترک و ایستا از پیش ساخته شده باشد. دایرکتوری src/ باید فقط حاوی فایل های منبع برنامه شما باشد (فایل های جاوا، کاتلین و AIDL). دایرکتوری src/ نباید حاوی هیچ فایل JAR باشد.
  • پروژه خود را برای فایل های داده خصوصی یا اختصاصی که برنامه شما از آنها استفاده نمی کند بررسی کنید و آنها را حذف کنید. به عنوان مثال، فایل‌های قابل ترسیم قدیمی، فایل‌های طرح‌بندی و فایل‌های مقادیری را که دیگر از آن‌ها استفاده نمی‌کنید، در دایرکتوری res/ پروژه خود جستجو کنید و آنها را حذف کنید.
  • دایرکتوری lib/ خود را برای کتابخانه های آزمایشی بررسی کنید و اگر دیگر توسط برنامه شما استفاده نمی شود آنها را حذف کنید.
  • محتویات فهرست assets/ دایرکتوری و دایرکتوری res/raw/ برای فایل‌های دارایی خام و فایل‌های ثابتی که باید قبل از انتشار به‌روزرسانی یا حذف کنید، مرور کنید.

تنظیمات مانیفست و ساخت Gradle خود را مرور و به‌روزرسانی کنید

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

  • عنصر <uses-permission>

    فقط مجوزهایی را مشخص کنید که برای برنامه شما مرتبط و مورد نیاز هستند.

  • ویژگی های android:icon و android:label

    شما باید مقادیری را برای این ویژگی ها که در عنصر <application> قرار دارند مشخص کنید.

  • ویژگی های versionCode و versionName

    توصیه می کنیم مقادیری را برای این ویژگی ها مشخص کنید، که در فایل build.gradle یا build.gradle.kts در سطح ماژول برنامه قرار دارند. برای اطلاعات بیشتر، نسخه برنامه خود را ببینید.

چندین عنصر فایل ساخت اضافی وجود دارد که اگر برنامه خود را در Google Play منتشر می کنید، می توانید آنها را تنظیم کنید. برای مثال، ویژگی‌های minSdk و targetSdk که در فایل build.gradle یا build.gradle.kts در سطح ماژول برنامه قرار دارند. برای اطلاعات بیشتر درباره این تنظیمات و سایر تنظیمات Google Play، به فیلترها در Google Play مراجعه کنید.

مشکلات سازگاری را برطرف کنید

اندروید ابزارها و تکنیک های مختلفی را برای سازگاری برنامه شما با طیف وسیعی از دستگاه ها ارائه می دهد. برای اینکه برنامه خود را در دسترس بیشترین تعداد کاربران قرار دهید، موارد زیر را در نظر بگیرید:

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

URL ها را برای سرورها و سرویس ها به روز کنید

اگر برنامه شما به سرورها یا سرویس‌های راه دور دسترسی دارد، مطمئن شوید که از URL تولید یا مسیر سرور یا سرویس استفاده می‌کنید و نه از URL آزمایشی یا مسیر.

اجرای مجوز برای Google Play

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

برای اطلاعات بیشتر در مورد خدمات مجوز Google Play و نحوه استفاده از آن در برنامه خود، به مجوز برنامه مراجعه کنید.

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

پس از اتمام پیکربندی برنامه خود، می توانید آن را در یک فایل APK آماده انتشار بسازید که امضا و بهینه شده است. JDK شامل ابزارهایی برای امضای فایل APK (Keytool و Jarsigner) است. Android SDK شامل ابزارهایی برای کامپایل و بهینه سازی فایل APK است. اگر از اندروید استودیو استفاده می کنید یا از سیستم ساخت Gradle از خط فرمان استفاده می کنید، می توانید کل فرآیند ساخت را خودکار کنید. برای اطلاعات بیشتر در مورد پیکربندی ساخت‌های Gradle، به پیکربندی انواع ساخت مراجعه کنید.

اگر از یک سیستم یکپارچه سازی مداوم استفاده می کنید، می توانید وظیفه ای را برای خودکارسازی فرآیند انتشار خود پیکربندی کنید. این به ساختن APK یا AAB نسخه شما محدود نمی شود. همچنین می‌توانید آن را به گونه‌ای پیکربندی کنید که به‌طور خودکار مصنوع(های) ساخت در Play Console آپلود شود.

با اندروید استودیو بسازید

می‌توانید از سیستم ساخت Gradle، ادغام شده با Android Studio، برای ساخت یک فایل APK آماده انتشار استفاده کنید که با کلید خصوصی شما امضا شده و بهینه شده است. برای آشنایی با نحوه راه‌اندازی و اجرای ساخت‌ها از Android Studio، به ساخت و اجرای برنامه خود مراجعه کنید.

فرآیند ساخت فرض می کند که شما یک گواهینامه و کلید خصوصی مناسب برای امضای برنامه خود دارید. اگر گواهینامه و کلید خصوصی مناسب ندارید، Android Studio می‌تواند به شما در تولید آن کمک کند. برای اطلاعات بیشتر درباره فرآیند امضا، به امضای برنامه خود مراجعه کنید.

سرورها و منابع خارجی را آماده کنید

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

همچنین، اگر برنامه شما محتوا را از یک سرور راه دور یا یک سرویس بی‌درنگ (مانند فید محتوا) واکشی می‌کند، مطمئن شوید که محتوایی که ارائه می‌کنید به‌روز است و آماده تولید است.

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

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

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