برای اینکه ببینید اپلیکیشن شما در یک دستگاه چگونه به نظر می رسد و چگونه رفتار می کند، باید آن را بسازید و اجرا کنید. Android Studio پروژههای جدیدی را راهاندازی میکند تا بتوانید تنها با چند کلیک برنامه خود را روی یک دستگاه مجازی یا فیزیکی مستقر کنید.
این نمای کلی بر نحوه استفاده از Android Studio برای ساخت و اجرای برنامه برای آزمایش و اشکال زدایی تمرکز دارد. برای کسب اطلاعات در مورد نحوه استفاده از Android Studio برای ساخت برنامه خود به طوری که بتوان آن را برای کاربران منتشر کرد، به ساخت برنامه خود برای انتشار برای کاربران مراجعه کنید. برای اطلاعات دقیق تر در مورد مدیریت و سفارشی سازی ساخت خود با یا بدون Android Studio، به پیکربندی ساخت خود مراجعه کنید.
ساخت و اجرا اولیه
برای ساخت و اجرای برنامه خود، این مراحل را دنبال کنید:
- در نوار ابزار، برنامه خود را از منوی تنظیمات اجرا انتخاب کنید.
در منوی دستگاه مورد نظر، دستگاهی را که می خواهید برنامه خود را روی آن اجرا کنید، انتخاب کنید.
اگر هیچ دستگاهی پیکربندی نشدهاید، باید یک دستگاه مجازی Android برای استفاده از شبیهساز Android ایجاد کنید یا یک دستگاه فیزیکی را متصل کنید .
روی Run کلیک کنید .
اگر بخواهید پروژه خود را روی دستگاهی راه اندازی کنید که دارای خطا یا اخطاری است، Android Studio به شما هشدار می دهد. نمادنگاری و تغییرات سبکی بین خطاها (انتخاب دستگاه که منجر به پیکربندی خراب می شود) و هشدارها (انتخاب دستگاهی که ممکن است منجر به رفتار غیرمنتظره شود، اما هنوز قابل اجرا هستند) تفاوت قائل می شود.
بر روند ساخت نظارت کنید
برای مشاهده جزئیات در مورد فرآیند ساخت، View > Tool Windows > Build را انتخاب کنید یا روی Build کلیک کنید در نوار پنجره ابزار پنجره Build tool وظایفی را که Gradle برای ساخت اپلیکیشن شما اجرا می کند، همانطور که در شکل 1 نشان داده شده است، نمایش می دهد.
- تب Sync: وظایفی را که Gradle برای همگام سازی با فایل های پروژه شما اجرا می کند را نمایش می دهد. مشابه تب Build Output ، اگر با خطای همگامسازی مواجه شدید، عناصر موجود در درخت را انتخاب کنید تا اطلاعات بیشتری در مورد خطا دریافت کنید. همچنین خلاصهای از تأثیر دانلود را نمایش میدهد تا مشخص کند آیا دانلودهای وابستگی بر ساخت شما تأثیر منفی میگذارند یا خیر.
- برگه Build Output: وظایفی را که Gradle به صورت درختی اجرا می کند را نمایش می دهد، جایی که هر گره یا فاز ساخت یا گروهی از وابستگی های وظیفه را نشان می دهد. اگر خطاهای زمان ساخت یا زمان کامپایل دریافت کردید، درخت را بررسی کنید و عنصری را برای خواندن خروجی خطا انتخاب کنید، همانطور که در شکل 2 نشان داده شده است.
- تب Build Analyzer: اطلاعات تجزیه و تحلیل عملکرد ساخت را در مورد ساخت شما ارائه می دهد. برای اطلاعات بیشتر به عیبیابی عملکرد ساخت با Build Analyzer مراجعه کنید.
- Restart: آخرین اقدام ساخت را دوباره انجام می دهد. اگر آخرین بار Build > Make Selected Module را اجرا کردید، ماژول فعلی را میسازد. اگر آخرین بار Build > Make Project را اجرا کرده اید، فایل های ساخت متوسط برای همه ماژول های پروژه شما تولید می کند.
- فیلترها: هشدارها، وظایف یا هر دوی آنها را که با موفقیت انجام شده اند فیلتر می کند. این می تواند یافتن مشکلات در خروجی را آسان تر کند.
اگر نسخههای ساخت شما از طعمهای محصول استفاده میکنند، Gradle همچنین وظایفی را برای ایجاد طعمهای محصول فراخوانی میکند. برای مشاهده لیست تمام کارهای ساخت موجود، روی View > Tool Windows > Gradle یا Gradle کلیک کنید در نوار پنجره ابزار
اگر خطایی در طول فرآیند ساخت رخ دهد، Gradle ممکن است گزینههای خط فرمان را برای کمک به حل مشکل توصیه کند، مانند --stacktrace
یا --debug
. برای استفاده از گزینه های خط فرمان در فرآیند ساخت:
- کادر گفتگوی تنظیمات یا تنظیمات را باز کنید:
- در ویندوز یا لینوکس، فایل > تنظیمات را از نوار منو انتخاب کنید.
- در macOS، Android Studio > Preferences را از نوار منو انتخاب کنید.
- به Build, Execution, Deployment > Compiler بروید.
- در قسمت نوشتاری کنار گزینههای خط فرمان ، گزینههای خط فرمان خود را وارد کنید.
- برای ذخیره و خروج روی OK کلیک کنید.
Gradle این گزینه های خط فرمان را دفعه بعد که سعی می کنید برنامه خود را بسازید اعمال می کند.
ویژگی های پیشرفته ساخت و اجرا
روش پیشفرض برای ساخت و اجرای برنامه در اندروید استودیو باید برای آزمایش یک برنامه ساده کافی باشد. با این حال، می توانید از این ویژگی های ساخت و اجرا برای موارد استفاده پیشرفته تر استفاده کنید:
برای استقرار برنامه خود در حالت اشکال زدایی، روی Debug کلیک کنید . اجرای برنامه خود در حالت اشکال زدایی به شما امکان می دهد نقاط شکست را در کد خود تعیین کنید، متغیرها را بررسی کنید و عبارات را در زمان اجرا ارزیابی کنید و ابزارهای اشکال زدایی را اجرا کنید. برای کسب اطلاعات بیشتر، به اشکال زدایی برنامه خود مراجعه کنید.
اگر برنامه بزرگتر و پیچیده تری دارید، به جای کلیک بر روی Run از Apply Changes استفاده کنید . این باعث صرفه جویی در زمان می شود، زیرا هر بار که می خواهید تغییری ایجاد کنید، برنامه خود را مجدداً راه اندازی نمی کنید. برای اطلاعات بیشتر در مورد اعمال تغییرات، به بخش Deploymentally with Apply Changes مراجعه کنید.
اگر از Jetpack Compose استفاده میکنید، ویرایش زنده یک ویژگی آزمایشی است که به شما امکان میدهد فایلهای composable را در زمان واقعی بدون کلیک مجدد بر روی Run بهروزرسانی کنید. . این به شما امکان می دهد تا روی نوشتن کد UI با حداقل وقفه تمرکز کنید. برای اطلاعات بیشتر، بخش ویرایش زنده (تجربی) را ببینید.
اگر برنامهای با چندین نوع ساخت یا نسخه دارید، میتوانید با استفاده از پنجره ابزار Build Variants ، نوع ساخت را انتخاب کنید. برای اطلاعات بیشتر در مورد اجرای یک نوع ساخت خاص، به بخش Change the build variant مراجعه کنید.
برای تنظیم دقیق گزینههای نصب، راهاندازی و آزمایش برنامه، میتوانید پیکربندی run/debug را تغییر دهید. برای اطلاعات بیشتر در مورد ایجاد تنظیمات run/debug سفارشی، به بخش Create run/debug configurations مراجعه کنید.
توصیه می کنیم برای نیازهای توسعه خود از Android Studio استفاده کنید، اما می توانید برنامه خود را از طریق خط فرمان روی یک دستگاه مجازی یا فیزیکی نیز مستقر کنید. برای اطلاعات بیشتر، به ساخت برنامه خود از خط فرمان مراجعه کنید.
استقرار تدریجی با اعمال تغییرات
در Android Studio نسخه 3.5 و بالاتر، Apply Changes به شما امکان میدهد تغییرات کد و منابع را بدون راهاندازی مجدد برنامه و در برخی موارد بدون راهاندازی مجدد فعالیت فعلی، به برنامه در حال اجرا خود فشار دهید. این انعطافپذیری به شما کمک میکند تا زمانی که میخواهید تغییرات کوچک و تدریجی را اجرا و آزمایش کنید و در عین حال وضعیت فعلی دستگاه خود را حفظ کنید، میزان راهاندازی مجدد برنامهتان را کنترل کنید.
Apply Changes از قابلیتهایی در پیادهسازی Android JVMTI استفاده میکند که در دستگاههای دارای Android 8.0 (سطح API 26) یا بالاتر پشتیبانی میشوند. برای کسب اطلاعات بیشتر درباره نحوه عملکرد Apply Changes، به Android Studio Project Marble: Apply Changes مراجعه کنید.
الزامات
اعمال تغییرات تنها زمانی در دسترس است که شرایط زیر را داشته باشید:
- شما APK برنامه خود را با استفاده از یک نوع ساخت اشکال زدایی می سازید.
- شما برنامه خود را بر روی دستگاه یا شبیه ساز مورد نظر که دارای Android 8.0 (سطح API 26) یا بالاتر است، مستقر می کنید.
از اعمال تغییرات استفاده کنید
هنگامی که می خواهید تغییرات خود را در یک دستگاه سازگار اجرا کنید، از گزینه های زیر استفاده کنید:
اعمال تغییرات و راه اندازی مجدد فعالیت : تلاش میکند با راهاندازی مجدد فعالیت، اما بدون راهاندازی مجدد برنامه، تغییرات منابع و کد شما را اعمال کند. به طور کلی، زمانی می توانید از این گزینه استفاده کنید که کدی را در بدنه یک متد تغییر داده اید یا یک منبع موجود را تغییر داده اید.
همچنین می توانید این عمل را با فشار دادن Control + Alt + F10 ( Control + Command + Shift + R در macOS) انجام دهید.
اعمال تغییرات کد : سعی می کند فقط تغییرات کد شما را بدون راه اندازی مجدد اعمال کند. به طور کلی، زمانی می توانید از این گزینه استفاده کنید که کدی را در بدنه یک متد تغییر داده اید اما هیچ منبعی را تغییر نداده اید. اگر هم کد و هم منابع را تغییر داده اید، به جای آن از Apply Changes و Restart Activity استفاده کنید.
همچنین می توانید این عمل را با فشار دادن Control + F10 ( Control + Command + R در macOS) انجام دهید.
اجرا کنید : همه تغییرات را اعمال می کند و برنامه را دوباره راه اندازی می کند. از این گزینه زمانی استفاده کنید که تغییراتی که ایجاد کرده اید را نمی توان با استفاده از هیچ یک از گزینه های اعمال تغییرات اعمال کرد. برای کسب اطلاعات بیشتر در مورد انواع تغییراتی که نیاز به راه اندازی مجدد برنامه دارند، به بخش محدودیت های اعمال تغییرات مراجعه کنید.
اجرای بازگشتی را برای اعمال تغییرات فعال کنید
وقتی روی Apply Changes and Restart Activity یا Apply Code Changes کلیک میکنید، Android Studio یک APK جدید میسازد و تعیین میکند که آیا تغییرات میتوانند اعمال شوند یا خیر. اگر تغییرات را نمی توان اعمال کرد و باعث می شود Apply Changes ناموفق باشد، Android Studio از شما می خواهد که Run کنید. به جای آن دوباره برنامه شما
اگر نمیخواهید هر بار که این اتفاق میافتد از شما خواسته شود، میتوانید Android Studio را به گونهای پیکربندی کنید که در صورت عدم اعمال تغییرات، برنامه شما بهطور خودکار دوباره اجرا شود. برای فعال کردن این رفتار، مراحل زیر را دنبال کنید:
کادر گفتگوی تنظیمات یا تنظیمات را باز کنید:
- در ویندوز یا لینوکس، فایل > تنظیمات را از منو انتخاب کنید.
- در macOS، Android Studio > Preferences را از منو انتخاب کنید.
به Build, Execution, Deployment > Deployment بروید.
چک باکس ها را برای فعال کردن بازگشت خودکار برای هر یک یا هر دو اعمال اعمال تغییرات انتخاب کنید.
روی OK کلیک کنید.
تغییرات وابسته به پلتفرم
برخی از ویژگی های Apply Changes به نسخه های خاصی از پلتفرم اندروید بستگی دارد. برای اعمال این نوع تغییرات، برنامه شما باید روی دستگاهی که آن نسخه اندروید (یا بالاتر) را اجرا می کند، مستقر شود. به عنوان مثال، افزودن یک روش به اندروید 11 یا بالاتر نیاز دارد.
محدودیت های اعمال تغییرات
Apply Changes برای سرعت بخشیدن به فرآیند استقرار برنامه طراحی شده است. با این حال، محدودیت هایی در مورد زمان استفاده از آن وجود دارد.
تغییرات کد که نیاز به راه اندازی مجدد برنامه دارد
برخی از تغییرات کد و منابع تا زمانی که برنامه راه اندازی مجدد نشود، اعمال نمی شوند، از جمله موارد زیر:
- افزودن یا حذف یک فیلد
- حذف یک روش
- تغییر امضاهای روش
- تغییر اصلاح کننده های متدها یا کلاس ها
- تغییر وراثت کلاس
- تغییر مقادیر در enums
- افزودن یا حذف یک منبع
- تغییر مانیفست برنامه
- تغییر کتابخانه های بومی (فایل های SO)
کتابخانه ها و افزونه ها
برخی از کتابخانهها و افزونهها بهطور خودکار تغییراتی را در فایلهای مانیفست برنامه شما یا منابعی که در مانیفست به آنها ارجاع میشوند، ایجاد میکنند. این بهروزرسانیهای خودکار میتوانند به روشهای زیر با اعمال تغییرات تداخل داشته باشند:
- اگر کتابخانه یا افزونهای تغییراتی در مانیفست برنامه شما ایجاد کند، نمیتوانید از Apply Changes استفاده کنید. برای مشاهده تغییرات خود باید برنامه خود را مجددا راه اندازی کنید.
- اگر کتابخانه یا افزونهای تغییراتی در فایلهای منبع برنامه شما ایجاد کند، نمیتوانید از اعمال تغییرات کد استفاده کنید. . باید از Apply Changes و Restart Activity استفاده کنید (یا برنامه خود را مجدداً راه اندازی کنید) تا تغییرات خود را مشاهده کنید.
برای اجتناب از این محدودیتها، همه بهروزرسانیهای خودکار را برای انواع ساخت اشکالزدایی خود غیرفعال کنید.
به عنوان مثال، Firebase Crashlytics منابع برنامه را با یک شناسه ساخت منحصر به فرد در طول هر ساخت به روز می کند، که مانع از استفاده از اعمال تغییرات کد می شود. و از شما می خواهد که فعالیت برنامه خود را مجدداً راه اندازی کنید تا تغییرات خود را مشاهده کنید. برای استفاده از Apply Code Changes در کنار Crashlytics با ساختهای اشکالزدایی، این رفتار را غیرفعال کنید.
کدی که مستقیماً به محتوای یک APK نصب شده ارجاع می دهد
اگر کد شما مستقیماً به محتوایی از APK برنامه شما که روی دستگاه نصب شده است ارجاع می دهد، آن کد می تواند پس از کلیک بر روی اعمال تغییرات کد باعث خرابی یا رفتار نادرست شود. . این رفتار به این دلیل رخ میدهد که وقتی روی Apply Code Changes کلیک میکنید، APK زیرین دستگاه در حین نصب جایگزین میشود. در این موارد می توانید روی Apply Changes and Restart Activity کلیک کنید یا اجرا کنید در عوض
اگر هنگام استفاده از Apply Changes با مشکل دیگری مواجه شدید، یک اشکال را ثبت کنید .
ویرایش زنده
Live Edit یک ویژگی آزمایشی در Android Studio است که به شما امکان میدهد فایلهای composable را در شبیهسازها و دستگاههای فیزیکی در زمان واقعی بهروزرسانی کنید. این قابلیت تغییر زمینه بین نوشتن و ساختن برنامه را به حداقل میرساند و به شما امکان میدهد روی نوشتن کد طولانیتر بدون وقفه تمرکز کنید.
درباره ویرایش زنده بیشتر بدانید
نوع ساخت را تغییر دهید
به طور پیشفرض، Android Studio نسخه اشکالزدایی برنامه شما را میسازد، که فقط برای استفاده در حین توسعه، با کلیک روی Run در نظر گرفته شده است. .
برای تغییر نوع ساخت مورد استفاده اندروید استودیو، یکی از موارد زیر را انجام دهید:
- در منو Build > Select Build Variant را انتخاب کنید.
- View > Tool Windows > Build Variants را در منو انتخاب کنید.
- روی تب Build Variants در نوار پنجره ابزار کلیک کنید.
برای پروژههای بدون کد Native/C++، پانل Build Variants دارای دو ستون است: Module و Active Build Variant . مقدار Active Build Variant برای ماژول تعیین می کند که IDE کدام نوع ساخت را در دستگاه متصل شما مستقر می کند و در ویرایشگر قابل مشاهده است.
برای جابجایی بین انواع، روی سلول Active Build Variant برای یک ماژول کلیک کنید و نوع مورد نظر را از لیست انتخاب کنید.
برای پروژه هایی با کد Native/C++، پنل Build Variants دارای سه ستون است:
- ماژول
- نوع ساخت فعال
- ABI فعال
مقدار Active Build Variant برای ماژول، نوع ساختی را تعیین می کند که IDE در دستگاه شما مستقر می کند و در ویرایشگر قابل مشاهده است. برای ماژولهای بومی، مقدار Active ABI ABI مورد استفاده ویرایشگر را تعیین میکند، اما بر آنچه که مستقر میشود تأثیری نمیگذارد.
برای تغییر نوع ساخت یا ABI، روی سلول مربوط به ستون Active Build Variant یا Active ABI کلیک کنید و نوع یا ABI مورد نظر را از لیست انتخاب کنید. پس از اینکه انتخاب را تغییر دادید، IDE پروژه شما را به صورت خودکار همگام سازی می کند. تغییر هر یک از ستون ها برای یک برنامه یا ماژول کتابخانه، این تغییر را در تمام ردیف های وابسته اعمال می کند.
بهطور پیشفرض، پروژههای جدید با دو نوع ساخت راهاندازی میشوند: یک نوع اشکال زدایی و یک نوع انتشار. شما باید نسخه انتشار را بسازید تا برنامه خود را برای انتشار عمومی آماده کنید . برای تعریف سایر تغییرات برنامه خود با ویژگیها یا الزامات دستگاه متفاوت، میتوانید انواع ساخت اضافی را تعریف کنید .
تناقضات در گفتگوی Android Studio Build Variants
در گفتگوی Android Studio Build Variants ، ممکن است پیام های خطایی را مشاهده کنید که نشان دهنده تداخل بین انواع ساخت است، مانند موارد زیر:
این خطا نشان دهنده مشکل ساخت با Gradle نیست. این نشان می دهد که Android Studio IDE نمی تواند نمادها را بین انواع ماژول های انتخاب شده حل کند.
به عنوان مثال، اگر ماژول M1
دارید که به نوع v1
ماژول M2
بستگی دارد، اما M2
نوع v2
را در IDE انتخاب کرده است، نمادهای حل نشده در IDE دارید. فرض کنید M1
به کلاسی بستگی دارد که فقط در v1
موجود است. وقتی v2
انتخاب می شود، آن کلاس توسط IDE شناخته نمی شود. بنابراین نام کلاس را حل نمی کند و خطاهایی را در کد ماژول M1
نشان می دهد.
این پیامهای خطا به این دلیل ظاهر میشوند که IDE نمیتواند کد را برای چندین نوع به طور همزمان بارگیری کند. با این حال، از نظر ساخت برنامه شما، نوع انتخاب شده در این گفتگو هیچ تاثیری ندارد، زیرا Gradle برنامه شما را با کد منبع مشخص شده در دستور العمل های ساخت Gradle شما می سازد، نه بر اساس آنچه که در حال حاضر در IDE بارگذاری شده است.
پیکربندی run/debug را تغییر دهید
هنگامی که برنامه خود را برای اولین بار اجرا می کنید، Android Studio از یک پیکربندی اجرای پیش فرض استفاده می کند. پیکربندی اجرا مشخص میکند که آیا برنامه شما از APK یا Android App Bundle و همچنین ماژول اجرا، بسته برای استقرار، فعالیت برای شروع، دستگاه هدف، تنظیمات شبیهساز، گزینههای Logcat و موارد دیگر اجرا شود.
پیکربندی پیشفرض اجرای/اشکالزدایی یک APK ایجاد میکند، فعالیت پروژه پیشفرض را راهاندازی میکند و از کادر گفتگوی انتخاب هدف استقرار برای انتخاب دستگاه مورد نظر استفاده میکند. اگر تنظیمات پیشفرض با پروژه یا ماژول شما مطابقت ندارد، میتوانید پیکربندی run/debug را سفارشی کنید یا در سطوح پروژه، پیشفرض و ماژول پیکربندی جدیدی ایجاد کنید.
برای ویرایش پیکربندی run/debug، Run > Edit Configurations را انتخاب کنید. برای اطلاعات بیشتر، به ایجاد و ویرایش تنظیمات اجرای/اشکالزدایی مراجعه کنید.