برای اینکه ببینید برنامهتان در دستگاه چگونه بهنظر میرسد و رفتار میکند، باید آن را بسازید و اجرا کنید. Android Studio پروژههای جدید را راهاندازی میکند تا بتوانید برنامهتان را فقط با چند کلیک در دستگاهی مجازی یا فیزیکی مستقر کنید.
این نمای کلی بر نحوه استفاده از «استودیو Android» برای ساختن و اجرای برنامه برای آزمایش و اشکالزدایی تمرکز دارد. برای کسب اطلاعات درباره نحوه استفاده از Android Studio برای ساختن برنامه بهمنظور انتشار آن برای کاربران، به ساختن برنامه برای انتشار برای کاربران مراجعه کنید. برای اطلاعات دقیقتر درباره مدیریت و سفارشیسازی ساخت با یا بدون Android Studio، پیکربندی ساخت را ببینید.
ساخت و اجرای پایه
برای ساختن و اجرای برنامهتان، این مراحل را دنبال کنید:
- در نوارابزار، برنامهتان را از منو پیکربندیهای اجرا انتخاب کنید.
در منو دستگاه هدف، دستگاهی را که میخواهید برنامهتان در آن اجرا شود انتخاب کنید.
منو دستگاه هدف در نوارابزار «استودیو Android». اگر دستگاهی را پیکربندی نکردهاید، باید یک «دستگاه مجازی Android» ایجاد کنید تا از شبیهساز Android استفاده کنید یا یک دستگاه فیزیکی را متصل کنید.
روی اجرا
کلیک کنید.
اگر بخواهید پروژهتان را در دستگاهی راهاندازی کنید که خطا یا هشداری به آن منسوب شده است، Android Studio به شما هشدار میدهد. تغییرات نمادنگاری و سبک بین خطاها (انتخابهای دستگاه که منجر به پیکربندی خراب میشود) و هشدارها (انتخابهای دستگاه که ممکن است منجر به رفتار غیرمنتظره شود اما همچنان قابلاجرا است) تفاوت قائل میشوند.
نظارت بر فرایند ساخت
برای مشاهده جزئیات مربوط به فرایند ساخت، View > Tool
Windows > Build را انتخاب کنید یا روی Build
در نوار پنجره ابزار کلیک کنید. پنجره ابزار ساخت
تکالیفی را که Gradle برای ساختن برنامهتان اجرا میکند نمایش میدهد،
همانطور که در شکل ۱ نشان داده شده است.
- برگه همگامسازی: تکالیفی را که Gradle برای همگامسازی با فایلهای پروژه شما اجرا میکند نمایش میدهد. مشابه برگه برونداد ساخت، اگر با خطای همگامسازی مواجه شدید، عناصر را در درخت انتخاب کنید تا اطلاعات بیشتری درباره خطا دریافت کنید. همچنین خلاصهای از تأثیر بارگیری را نمایش میدهد تا مشخص شود آیا بارگیریهای وابستگی تأثیر منفی بر ساخت شما دارد یا نه.
- برگه Build Output (خروجی ساخت): تکالیفی را که Gradle اجرا میکند بهصورت درخت نمایش میدهد،
که در آن هر گره نشاندهنده فاز ساخت یا گروهی
از وابستگیهای تکلیف است. اگر خطاهای زمان ساخت یا زمان ترجمه دریافت کردید،
درخت را بررسی کنید و عنصری را برای خواندن خروجی خطا انتخاب کنید، همانطور که در
شکل ۲ نشان داده شده است.
شکل ۲. برگه خروجی ساخت را برای پیامهای خطا بررسی کنید. - برگه Build Analyzer: اطلاعات تجزیهوتحلیل عملکرد ساخت را درباره ساخت شما ارائه میدهد. برای اطلاعات بیشتر، عیبیابی عملکرد ساخت با «تحلیلکننده ساخت» را ببینید.
- بازراهاندازی: آخرین کنش ساخت را دوباره انجام میدهد. اگر آخرینبار ساخت > ساختن ماژول انتخابشده را اجرا کرده باشید، ماژول فعلی را میسازد. اگر آخرینبار Build > Make Project را اجرا کرده باشید، فایلهای ساخت واسط برای همه پیمانههای پروژهتان تولید خواهد شد.
- فیلترها: هشدارها، تکالیف، یا هر دو را که با موفقیت تکمیل شدهاند فیلتر میکند. این کار میتواند پیدا کردن مشکلات را در خروجی آسانتر کند.
اگر تنوعهای ساخت شما از نسخههای ویژه محصول استفاده میکنند، Gradle همچنین وظایفی را برای ساخت آن نسخههای ویژه محصول فراخوانی میکند. برای مشاهده فهرست همه تکالیف ساخت دردسترس،
روی مشاهده > پنجرههای ابزار > Gradle کلیک کنید یا روی Gradle
در نوار پنجره ابزار کلیک کنید.
اگر درطول فرایند ساخت خطایی رخ دهد، Gradle ممکن است
گزینههای خط فرمان را برای کمک به حل مشکل توصیه کند، مانند
--stacktrace یا --debug. برای استفاده از گزینههای خط فرمان
با فرایند ساخت:
- کادر گفتگوی تنظیمات یا اولویتها را باز کنید:
- در Windows یا Linux، فایل > تنظیمات را از نوار منو انتخاب کنید.
- در macOS، Android Studio > Preferences (اولویتها) را از نوار منو انتخاب کنید.
- به Build, Execution, Deployment > Compiler (ساخت، اجرا، استقرار > کامپایلر) بروید.
- در فیلد نوشتاری کنار گزینههای خط فرمان، گزینههای خط فرمان را وارد کنید.
- برای ذخیره کردن و خارج شدن، روی تأیید کلیک کنید.
دفعه بعد که میخواهید برنامهتان را بسازید، Gradle این گزینههای خط فرمان را اعمال میکند.
ساختن و اجرا کردن بااستفاده از عامل هوش مصنوعی
عامل هوش مصنوعی در Android Studio به ابزارهایی دسترسی دارد که به آن اجازه میدهد برنامه شما را بسازد و مستقر کند، و سپس وضعیت برنامه را ازطرف شما درستیسنجی کند. وقتی از Agent Mode استفاده میکنید، عامل میتواند کارهایی مثل موارد زیر را انجام دهد:
- برنامهتان را در دستگاه فیزیکی یا شبیهساز متصلشده مستقر کنید.
- صفحهنمایش را بازرسی کنید و برای تأیید تغییرات میانای کاربر، نماگرفت بگیرید.
- برای خطاهای زمان اجرا یا پیامهای گزارش خاص، Logcat را بررسی کنید.
- بااستفاده از فرمانهای
adb shellبرای پیمایش یا وارد کردن داده، با برنامهتان تعامل برقرار کنید.
استفاده از عامل هوشوارهای برای ساختن و اجرای برنامه برای تکالیف چندمرحلهای که در آنها عامل باید بهطور تکراری تغییراتی ایجاد کند و درستیسنجی کند که این تغییرات طبق انتظار کار میکنند مفید است.
ویژگیهای پیشرفته ساخت و اجرا
روش پیشفرض برای ساختن و اجرای برنامه در Android Studio باید برای آزمایش برنامه کافی باشد. بااینحال، میتوانید از این ویژگیهای ساختن و اجرا برای موارد استفاده پیشرفتهتر استفاده کنید:
برای استقرار برنامهتان در حالت اشکالزدایی، روی اشکالزدایی
کلیک کنید.
اجرای برنامه در حالت اشکالزدایی به شما امکان میدهد نقاط توقف را در کدتان تنظیم کنید، متغیرها را بررسی کنید و عبارتها را در زمان اجرا ارزیابی کنید، و ابزارهای اشکالزدایی را اجرا کنید. برای
کسب اطلاعات بیشتر، به اشکالزدایی برنامه مراجعه کنید.اگر برنامه بزرگتر و پیچیدهتری دارید، بهجای کلیک کردن روی اجرا
، از «اعمال تغییرات» استفاده کنید. این کار باعث صرفهجویی در زمان میشود، زیرا هربار که میخواهید تغییری را مستقر کنید، از بازراهاندازی برنامهتان اجتناب میکنید. برای اطلاعات بیشتر درباره
«اعمال تغییرات»، به بخش
استقرار افزایشی با «اعمال تغییرات» مراجعه کنید.اگر از Jetpack Compose استفاده میکنید، «ویرایش زنده» ویژگیای آزمایشی است که به شما امکان میدهد بدون کلیک مجدد روی اجرا، ترکیبپذیرها را در زمان واقعی بهروز کنید
. این کار به شما امکان میدهد با حداقل وقفه بر نوشتن کد میانای کاربر تمرکز کنید. برای اطلاعات بیشتر، به بخش
ویرایش زنده (آزمایشی) مراجعه کنید.اگر برنامهای با چند تنوع ساخت یا نسخه دارید، میتوانید بااستفاده از پنجره ابزار تنوع ساخت انتخاب کنید کدام تنوع ساخت مستقر شود. برای اطلاعات بیشتر درباره اجرای یک تنوع ساخت خاص، به بخش تغییر تنوع ساخت مراجعه کنید.
برای تنظیم دقیق گزینههای نصب، راهاندازی، و آزمایش برنامه، میتوانید پیکربندی اجرا/ اشکالزدایی را تغییر دهید. برای اطلاعات بیشتر درباره ایجاد پیکربندیهای اجرا/ اشکالزدایی سفارشی، بخش ایجاد پیکربندیهای اجرا/ اشکالزدایی را ببینید.
توصیه میکنیم برای نیازهای توسعه خود از Android Studio استفاده کنید، اما میتوانید برنامهتان را از خط فرمان نیز در دستگاه مجازی یا فیزیکی مستقر کنید. برای اطلاعات بیشتر، به ساختن برنامه از خط فرمان مراجعه کنید.
پیادهسازی افزایشی با «اعمال تغییرات»
در Android Studio نسخه ۳.۵ و بالاتر، «اعمال تغییرات» به شما امکان میدهد تغییرات کد و منبع را بدون بازراهاندازی برنامه به برنامه درحال اجرا ارسال کنید و در برخی موارد، بدون بازراهاندازی فعالیت فعلی. این انعطافپذیری به شما کمک میکند کنترل کنید که چه مقدار از برنامهتان هنگام استقرار و آزمایش تغییرات کوچک و افزایشی بازراهاندازی شود، درحالیکه وضعیت فعلی دستگاهتان حفظ میشود.
«اعمال تغییرات» از قابلیتهای موجود در پیادهسازی JVMTI در Android استفاده میکند که در دستگاههای دارای Android 8.0 (سطح API ۲۶) یا بالاتر پشتیبانی میشود. برای کسب اطلاعات بیشتر درباره نحوه عملکرد «اعمال تغییرات»، به Android Studio Project Marble: Apply Changes مراجعه کنید.
الزامات
کنشهای «اعمال تغییرات» فقط زمانی دردسترس است که شرایط زیر را داشته باشید:
- APK برنامهتان را بااستفاده از تنوع ساخت اشکالزدایی میسازید.
- برنامهتان را در دستگاه هدف یا شبیهسازی که Android نسخه ۸.۰ (سطح میانای برنامهسازی کاربردی ۲۶) یا بالاتر را اجرا میکند مستقر کنید.
استفاده از «اعمال تغییرات»
وقتی میخواهید تغییراتتان را در دستگاه سازگار مستقر کنید، از گزینههای زیر استفاده کنید:
اعمال تغییرات و بازراهاندازی فعالیت
: تلاش میکند
هم تغییرات منبع و هم تغییرات کد را با بازراهاندازی فعالیت شما اما
بدون بازراهاندازی برنامهتان اعمال کند. بهطور کلی، وقتی کد را در بدنه یک روش اصلاح کردهاید یا منبع موجودی را اصلاح کردهاید، میتوانید از این گزینه استفاده کنید.
همچنین میتوانید این کنش را با فشار دادن Control+Alt+F10 (Control+Command+Shift+R در macOS) انجام دهید.
اعمال تغییرات کد
: تلاش میکند فقط تغییرات کد شما را بدون بازراهاندازی هیچچیز اعمال کند. بهطور کلی، وقتی کدی را در بدنه روشی اصلاح کردهاید اما هیچ منبعی را اصلاح نکردهاید، میتوانید از این گزینه استفاده کنید. اگر هم کد و هم منابع را اصلاح کردهاید، بهجای آن از
اعمال تغییرات و بازراهاندازی فعالیت استفاده کنید.
همچنین میتوانید این کنش را با فشار دادن Control+F10 (Control+Command+R در macOS) انجام دهید.
اجرا
: همه تغییرات را مستقر میکند و برنامه را بازراهاندازی میکند. وقتی تغییراتی که ایجاد کردهاید بااستفاده از هیچکدام از گزینههای «اعمال تغییرات» قابلاعمال نباشد، از این گزینه استفاده کنید. برای کسب اطلاعات بیشتر درباره انواع تغییراتی که نیاز به بازراهاندازی برنامه دارند، به بخش محدودیتهای اعمال تغییرات مراجعه کنید.
فعال کردن اجرای جایگزین برای «اعمال تغییرات»
وقتی روی اعمال تغییرات و بازراهاندازی فعالیت یا
اعمال تغییرات کد کلیک میکنید، Android Studio یک APK جدید میسازد و تعیین میکند که آیا
تغییرات قابل اعمال هستند یا نه. اگر تغییرات اعمال نشوند و باعث شوند
«اعمال تغییرات» ناموفق باشد، Android Studio از شما میخواهد بهجای آن، برنامهتان را دوباره اجرا
کنید.
اگر نمیخواهید هربار که این اتفاق میافتد از شما درخواست شود، میتوانید Android Studio را پیکربندی کنید تا وقتی تغییرات اعمال نمیشود، برنامهتان را بهطور خودکار دوباره اجرا کند. برای فعال کردن این رفتار، این مراحل را دنبال کنید:
کادر گفتگوی تنظیمات یا اولویتها را باز کنید:
- در Windows یا Linux، فایل > تنظیمات را از منو انتخاب کنید.
- در macOS، Android Studio > Preferences (اولویتها) را از منو انتخاب کنید.
به Build, Execution, Deployment > Deployment (ساخت، اجرا، استقرار > استقرار) بروید.
چارگوشهای انتخاب را برای فعال کردن اجرای خودکار جایگزین برای یکی یا هر دو کنش «اعمال تغییرات» انتخاب کنید.
روی تأیید کلیک کنید.
تغییرات وابسته به پلاتفرم
برخیاز ویژگیهای «اعمال تغییرات» به نسخههای خاصی از پلاتفرم Android بستگی دارد. برای اعمال این نوع تغییرات، برنامهتان باید در دستگاهی مستقر شود که آن نسخه Android (یا بالاتر) را اجرا میکند. برای مثال، افزودن روش به Android نسخه ۱۱ یا بالاتر نیاز دارد.
محدودیتهای «اعمال تغییرات»
«اعمال تغییرات» برای سرعت بخشیدن به فرایند استقرار برنامه طراحی شده است. اما محدودیتهایی برای زمان استفاده از آن وجود دارد.
تغییرات کد که به بازراهاندازی برنامه نیاز دارد
برخیاز تغییرات کد و منبع تا زمانیکه برنامه بازراهاندازی نشود اعمال نمیشود، ازجمله موارد زیر:
- افزودن یا برداشتن فیلد
- برداشتن روش
- تغییر امضاهای روش
- تغییر دادن اصلاحکنندههای روشها یا کلاسها
- درحال تغییر دادن وراثت کلاس
- تغییر مقادیر در شمارشها
- افزودن یا برداشتن منبع
- تغییر مانیفست برنامه
- تغییر کتابخانههای بومی (فایلهای SO)
کتابخانهها و افزونهها
برخیاز کتابخانهها و افزایهها بهطور خودکار در فایلهای مانیفست برنامهتان یا منابعی که در مانیفست به آنها ارجاع داده شده است تغییر ایجاد میکنند. این بهروزرسانیهای خودکار میتوانند به روشهای زیر با «اعمال تغییرات» تداخل داشته باشند:
- اگر کتابخانه یا افزونهای در مانیفست برنامهتان تغییراتی ایجاد کند، نمیتوانید از «اعمال تغییرات» استفاده کنید. برای دیدن تغییرات، باید برنامهتان را بازراهاندازی کنید.
- اگر کتابخانه یا افزونهای در فایلهای منبع برنامهتان تغییر ایجاد کند، نمیتوانید
از اعمال تغییرات کد
استفاده کنید. برای دیدن تغییرات، باید از اعمال تغییرات و بازراهاندازی فعالیت
(یا بازراهاندازی برنامه) استفاده کنید.
برای اجتناب از این محدودیتها، همه بهروزرسانیهای خودکار را برای تنوعهای ساخت اشکالزدایی غیرفعال کنید.
برای مثال، Firebase Crashlytics منابع برنامه را با شناسه ساخت یکتا درطول هر ساخت بهروز میکند، که مانع از استفاده شما از اعمال تغییرات کد
میشود و شما را ملزم میکند فعالیت برنامهتان را بازراهاندازی کنید تا تغییراتتان را ببینید. این رفتار را غیرفعال کنید تا بتوانید از
اعمال تغییرات کد درکنار Crashlytics با ساختهای اشکالزداییتان استفاده کنید.
کدی که مستقیماً به محتوای موجود در APK نصبشده ارجاع میدهد
اگر کد شما مستقیماً به محتوایی از APK برنامهتان که در دستگاه نصب شده است ارجاع دهد، آن کد میتواند پساز کلیک کردن روی اعمال تغییرات کد
باعث ازکارافتادن یا رفتار نادرست شود. این رفتار بهاین دلیل رخ میدهد که وقتی روی اعمال تغییرات کد کلیک میکنید، APK زیربنایی در دستگاه درطول نصب جایگزین میشود. در این موارد، میتوانید روی اعمال تغییرات
و بازراهاندازی فعالیت
یا اجرا
کلیک کنید.
اگر هنگام استفاده از «اعمال تغییرات» با مشکل دیگری مواجه شدید، اشکال را ثبت کنید.
ویرایش زنده
«ویرایش زنده» ویژگی آزمایشی در Android Studio است که به شما امکان میدهد ترکیبپذیرها را در شبیهسازها و دستگاههای فیزیکی بهطور همزمان بهروز کنید. این عملکرد تعویض بافت بین نوشتن و ساختن برنامه را بهحداقل میرساند و به شما امکان میدهد بدون وقفه، مدت بیشتری روی نوشتن کد تمرکز کنید.
درباره «ویرایش زنده» بیشتر بدانید
تغییر تنوع ساخت
بهطور پیشفرض، وقتی روی اجرا
کلیک میکنید، Android Studio نسخه اشکالزدایی برنامهتان را میسازد که فقط برای استفاده درطول توسعه درنظر گرفته شده است.
برای تغییر دادن تنوع ساخت مورداستفاده Android Studio، یکی از کارهای زیر را انجام دهید:
- ساخت > انتخاب تنوع ساخت را در منو انتخاب کنید.
- View (مشاهده) > Tool Windows (پنجرههای ابزار) > Build Variants (انواع ساخت) را در منو انتخاب کنید.
- روی برگه Build Variants (تنوعهای ساخت) در نوار پنجره ابزار کلیک کنید.
برای پروژههای بدون کد بومی/C++، پانل انواع ساخت دو ستون دارد: ماژول و نوع ساخت فعال. مقدار Active Build Variant برای پیمانه تعیین میکند که IDE کدام تنوع ساخت را در دستگاه متصلشده شما مستقر کند و در ویرایشگر قابلمشاهده باشد.
برای جابهجایی بین تنوعها، روی سلول تنوع ساخت فعال برای یک ماژول کلیک کنید و تنوع موردنظرتان را از فهرست انتخاب کنید.
برای پروژههای دارای کد بومی/C++، پانل انواع ساخت سه ستون دارد:
- واحد
- Active Build Variant
- میانای دودویی کاربردی فعال
مقدار Active Build Variant برای ماژول، تنوع ساخت را تعیین میکند که IDE در دستگاهتان مستقر میکند و در ویرایشگر قابلمشاهده است. برای ماژولهای بومی، مقدار رابط دودویی کاربردی فعال تعیین میکند که ویرایشگر از کدام رابط دودویی کاربردی استفاده کند، اما بر آنچه مستقر میشود تأثیری ندارد.
برای تغییر دادن ABI یا تنوع ساخت، روی سلول ستون تنوع ساخت فعال یا ABI فعال کلیک کنید و تنوع یا ABI موردنظرتان را از فهرست انتخاب کنید. پساز تغییر انتخاب، IDE بهطور خودکار پروژهتان را همگامسازی میکند. تغییر هریک از ستونها برای برنامه یا واحد کتابخانه تغییر را بر همه ردیفهای وابسته اعمال میکند.
بهطور پیشفرض، پروژههای جدید با دو تنوع ساخت راهاندازی میشوند: تنوع اشکالزدایی و تنوع انتشار. برای آماده کردن برنامهتان برای انتشار عمومی، باید نسخه انتشار را بسازید. برای تعریف کردن انواع دیگر برنامهتان با ویژگیها یا الزامات دستگاه متفاوت، میتوانید انواع ساخت اضافی تعریف کنید.
تداخل در کادر گفتگوی «انواع ساخت» در «استودیو Android»
در کادر گفتگوی Build Variants در Android Studio، ممکن است پیامهای خطایی ببینید که نشاندهنده تداخل بین انواع ساخت است، مانند:
این خطا نشاندهنده مشکل ساخت با Gradle نیست. این خطا نشان میدهد که Android Studio IDE نمیتواند نمادها را بین انواع مختلف واحدهای انتخابشده حل کند.
برای مثال، اگر ماژول M1 را دارید که به گونه v1 از ماژول M2 وابسته است، اما M2 گونه v2 را در IDE انتخاب کرده است، نمادهای حلنشده در IDE دارید. فرض کنید M1 به کلاسی وابسته است که فقط در v1 دردسترس است؛ وقتی
v2 انتخاب میشود، آن کلاس برای IDE شناختهشده نیست. بنابراین نمیتواند نام کلاس را حل کند و در کد واحد M1 خطا نشان میدهد.
این پیامهای خطا به این دلیل نشان داده میشوند که IDE نمیتواند کد را برای چند گونه بهطور همزمان بار کند. اما ازنظر ساخت برنامه، گونه انتخابشده در این کادر گفتوگو تأثیری ندارد، زیرا Gradle برنامه شما را با کد منبع مشخصشده در دستورالعملهای ساخت Gradle میسازد، نه براساس آنچه درحالحاضر در IDE بار شده است.
تغییر پیکربندی اجرا/ اشکالزدایی
وقتی برنامهتان را برای اولینبار اجرا میکنید، «استودیو Android» از پیکربندی اجرای پیشفرض استفاده میکند. پیکربندی اجرا مشخص میکند که برنامهتان از فایل APK یا بسته ترکیبی برنامه Android مستقر شود یا نه، و همچنین واحدی را که باید اجرا شود، بستهای را که باید مستقر شود، فعالیتی را که باید شروع شود، دستگاه هدف، تنظیمات شبیهساز، گزینههای Logcat، و موارد دیگر را مشخص میکند.
پیکربندی پیشفرض اجرا/ اشکالزدایی یک APK میسازد، فعالیت پروژه پیشفرض را راهاندازی میکند، و از کادر گفتگوی انتخاب هدف استقرار برای انتخاب دستگاه هدف استفاده میکند. اگر تنظیمات پیشفرض برای پروژه یا ماژول شما مناسب نیست، میتوانید پیکربندی اجرا/ اشکالزدایی را سفارشیسازی کنید یا پیکربندی جدیدی در سطوح پروژه، پیشفرض، و ماژول ایجاد کنید.
برای ویرایش پیکربندی اجرا/ اشکالزدایی، اجرا > ویرایش پیکربندیها را انتخاب کنید. برای اطلاعات بیشتر، به ایجاد و ویرایش پیکربندیهای اجرا/ اشکالزدایی مراجعه کنید.