اندروید استودیو ۴.۱ (آگوست ۲۰۲۰)
اندروید استودیو ۴.۱ یک نسخه اصلی است که شامل مجموعهای از ویژگیها و بهبودهای جدید میشود.
۴.۱.۳ (مارس ۲۰۲۱)
این بهروزرسانی جزئی شامل رفع اشکالات مختلفی است. برای مشاهدهی فهرست رفع اشکالات قابل توجه، پست مرتبط در وبلاگ بهروزرسانیهای انتشار را مطالعه کنید.
۴.۱.۲ (ژانویه ۲۰۲۱)
<p>
This minor update includes various bug fixes.
To see a list of notable bug fixes, read the related post on the
<a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>
<p>
This minor update includes various bug fixes.
To see a list of notable bug fixes, read the related post on the
<a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
Release Updates blog</a>.
</p>
بازرس پایگاه داده جدید
با استفاده از Database Inspector جدید، پایگاههای داده خود را در برنامه در حال اجرا بررسی، پرسوجو و اصلاح کنید. برای شروع، برنامه خود را روی دستگاهی که API Level 26 یا بالاتر را اجرا میکند، مستقر کنید و از نوار منو ، View > Tool Windows > Database Inspector را انتخاب کنید.

برای کسب اطلاعات بیشتر، به بخش اشکالزدایی پایگاه داده خود با استفاده از Database Inspector مراجعه کنید.
شبیهساز اندروید را مستقیماً در اندروید استودیو اجرا کنید
اکنون میتوانید شبیهساز اندروید را مستقیماً در اندروید استودیو اجرا کنید. از این ویژگی برای صرفهجویی در فضای صفحه نمایش، پیمایش سریع بین شبیهساز و پنجره ویرایشگر با استفاده از کلیدهای میانبر و سازماندهی گردش کار IDE و شبیهساز خود در یک پنجره برنامه واحد استفاده کنید.

برای کسب اطلاعات بیشتر، به مستندات شبیهساز اندروید مراجعه کنید.
از مدلهای TensorFlow Lite استفاده کنید
اتصال مدل ML به شما این امکان را میدهد که مستقیماً فایلهای مدل .tflite را وارد کنید و از آنها در پروژههای خود استفاده کنید. اندروید استودیو کلاسهای با کاربرد آسان تولید میکند تا بتوانید مدل خود را با کد کمتر و امنیت نوع بهتر اجرا کنید.
مدلهای پشتیبانیشده
پیادهسازی فعلی ML Model Binding از مدلهای طبقهبندی تصویر و انتقال سبک پشتیبانی میکند، مشروط بر اینکه با فراداده بهبود یافته باشند. با گذشت زمان، پشتیبانی به سایر حوزههای مسئله، مانند تشخیص شیء، قطعهبندی تصویر و طبقهبندی متن، گسترش خواهد یافت.
طیف گستردهای از مدلهای از پیش آموزشدیده به همراه فراداده در TensorFlow Hub ارائه شده است. همچنین میتوانید خودتان فراداده را به یک مدل TensorFlow Lite اضافه کنید، همانطور که در بخش افزودن فراداده به مدل TensorFlow Lite توضیح داده شده است.
وارد کردن یک فایل مدل
برای وارد کردن یک فایل مدل پشتیبانی شده، این مراحل را دنبال کنید:
- پنجرهی وارد کردن مدل TensorFlow Lite را از منوی File و در مسیر File > New > Other > TensorFlow Lite Model باز کنید.
- فایل مدل
.tfliteرا که قبلاً دانلود یا ایجاد کردهاید، انتخاب کنید. - روی پایان کلیک کنید.
این دستور فایل مدل را به پروژه شما وارد کرده و آن را در پوشه ml/ قرار میدهد؛ اگر این پوشه وجود نداشته باشد، اندروید استودیو آن را برای شما ایجاد میکند.

مشاهده ابرداده مدل و نحوه استفاده از آن
برای مشاهده جزئیات یک مدل وارد شده و دریافت دستورالعملهایی در مورد نحوه استفاده از آن در برنامه خود، روی فایل مدل در پروژه خود دوبار کلیک کنید تا صفحه نمایشگر مدل باز شود، که موارد زیر را نشان میدهد:
- مدل: توصیف سطح بالای مدل
- تانسورها: شرح تانسورهای ورودی و خروجی
- کد نمونه: مثالی از نحوهی ارتباط با مدل در برنامهی شما
در اینجا مثالی با استفاده از mobilenet_v1_0.25_160_quantized.tflite آورده شده است:
همانطور که مثال نشان میدهد، اندروید استودیو کلاسی به نام MobilenetV1025160Quantized برای تعامل با مدل ایجاد میکند.
اگر مدل فراداده نداشته باشد، این صفحه فقط اطلاعات حداقلی را ارائه میدهد.
مشکلات و راهحلهای شناختهشده
- پشتیبانی از مدلهای TensorFlow Lite برای حوزههای مسئلهای غیر از طبقهبندی تصویر و انتقال سبک در حال حاضر محدود است. اگرچه وارد کردن باید به خوبی کار کند، اما برخی از ورودیها و/یا خروجیهای مدل به جای انواع سازگار، توسط TensorBuffers نمایش داده میشوند. برای مدلهای بدون هیچ گونه فرادادهای، تمام ورودیها و خروجیهای مدل TensorBuffers خواهند بود.
- مدلهایی با نوع داده ورودی و خروجی متفاوت از
DataType.UINT8یاDataType.FLOAT32پشتیبانی نمیشوند.
این ویژگی هنوز در دست توسعه است، بنابراین لطفاً بازخورد خود را ارائه دهید یا اشکالات را گزارش دهید .
نمایهساز حافظه بومی
پروفایلر حافظه اندروید استودیو اکنون شامل یک پروفایلر حافظه بومی برای برنامههایی است که در دستگاههای فیزیکی با اندروید ۱۰ یا بالاتر مستقر میشوند. با پروفایلر حافظه بومی، میتوانید تخصیصها و آزادسازیهای حافظه را از کد بومی ثبت کنید و آمار تجمعی مربوط به اشیاء بومی را بررسی کنید.

برای کسب اطلاعات بیشتر در مورد نمایهساز حافظه بومی، به بخش «بررسی میزان استفاده از حافظه برنامه با نمایهساز حافظه» مراجعه کنید.
مشکلات و راهحلهای شناختهشده
پروفایلر حافظه بومی در اندروید استودیو ۴.۱ برای دستگاههای اندروید ۱۱ کار نمیکند. پشتیبانی از پروفایلینگ دستگاههای اندروید ۱۱ در حال حاضر در نسخه پیشنمایش ۴.۲ موجود است.
از زمان انتشار اولیه ۴.۱، پروفایلبندی هنگام راهاندازی برنامه غیرفعال شده است. این گزینه در نسخه آتی فعال خواهد شد.
به عنوان یک راه حل موقت، میتوانید از ابزار مستقل خط فرمان Perfetto برای ثبت پروفایلهای راهاندازی استفاده کنید.
رابط کاربری System Trace: انتخاب آسانتر، تب جدید تحلیل و دادههای رندر فریم بیشتر
رابط کاربری System Trace در پروفایلر اندروید استودیو شامل بهبودهای زیر است:
انتخاب جعبهای: در بخش Threads ، اکنون میتوانید ماوس خود را بکشید تا یک انتخاب جعبهای از یک ناحیه مستطیلی انجام دهید که میتوانید با کلیک روی Zoom to Selection، روی آن بزرگنمایی کنید.
روی دکمهی بالا سمت راست کلیک کنید (یا از میانبر صفحهکلید M استفاده کنید). وقتی رشتههای مشابه را کنار یکدیگر میکشانید و رها میکنید، میتوانید چندین رشته را انتخاب کنید تا همه آنها را به طور همزمان بررسی کنید. به عنوان مثال، ممکن است بخواهید تجزیه و تحلیل را روی چندین رشتهی کارگر انجام دهید. 
تب خلاصه: تب جدید خلاصه در پنل تحلیل موارد زیر را نمایش میدهد:
آمار کلی برای تمام وقایع یک رویداد خاص، مانند تعداد وقایع و حداقل/حداکثر مدت زمان.
آمار رویداد را برای رخداد انتخاب شده ردیابی کنید.
دادههای مربوط به توزیع وضعیت نخ.
طولانیترین رخدادهای رویداد ردیابی انتخابشده.

برای رفتن به یک رخداد دیگر، ردیف دیگری از جدول را انتخاب کنید.
دادههای نمایش: در بخش نمایش ، جدولهای زمانی جدید برای SurfaceFlinger و VSYNC به شما کمک میکنند تا مشکلات رندرینگ را در رابط کاربری برنامه خود بررسی کنید.

برای دستورالعملهای اولیه استفاده در مورد نحوه ثبت ردیابی سیستم، به بخش ثبت ردیابیها از بازرسی فعالیت CPU با CPU Profiler مراجعه کنید.
پروفایلرهای مستقل اکنون در دسترس هستند
با استفاده از پروفایلرهای مستقل جدید، اکنون میتوانید بدون اجرای کامل محیط توسعه اندروید استودیو، برنامه خود را پروفایل کنید.
برای دستورالعملهای استفاده از پروفایلرهای مستقل، به اجرای پروفایلرهای مستقل مراجعه کنید.
پشتیبانی از ناوبری Dagger

اندروید استودیو با ارائه اقدامات حاشیهای جدید و گسترش پشتیبانی در پنجره Find Usages ، پیمایش بین کدهای مربوط به Dagger را آسانتر میکند.
اقدامات حاشیهای جدید: برای پروژههایی که از Dagger استفاده میکنند، IDE اقدامات حاشیهای را ارائه میدهد که به شما کمک میکند بین کدهای حاشیهنویسی شده با Dagger خود حرکت کنید. به عنوان مثال، کلیک کردن روی
عمل حاشیهای (gutter) در کنار متدی که نوع داده شده را مصرف میکند، شما را به ارائهدهندهی آن نوع هدایت میکند. برعکس، کلیک کردن روی
اکشن gutter شما را به جایی که یک نوع به عنوان وابستگی استفاده میشود، هدایت میکند.گره Find Usages: وقتی Find Usages را روی یک ارائهدهنده از نوع داده شده فراخوانی میکنید، پنجره Find اکنون شامل یک گره Dependency consumer(s) است که مصرفکنندگان آن نوع را فهرست میکند. برعکس، با فراخوانی این عمل روی یک مصرفکننده از یک وابستگی تزریقشده توسط Dagger، پنجره Find ارائهدهنده آن وابستگی را به شما نشان میدهد.
اجزای طراحی متریال: تمها و استایلهای بهروز شده در قالبهای پروژه جدید

قالبهای اندروید استودیو در پنجرهی «ایجاد پروژهی جدید » اکنون از کامپوننتهای طراحی متریال (MDC) استفاده میکنند و بهطور پیشفرض با راهنماییهای بهروز شده برای تمها و استایلها مطابقت دارند. بهروزرسانیها شامل موارد زیر هستند:
MDC : پروژهها به
com.google.android.material:materialدرbuild.gradleوابسته هستند. تمهای برنامه پایه از والدTheme.MaterialComponents.*استفاده میکنند و ویژگیهای رنگ و "on" بهروزرسانیشده MDC را لغو میکنند.منابع رنگ : منابع رنگ در
colors.xmlاز نامهای تحتاللفظی استفاده میکنند (برای مثال،purple_500به جایcolorPrimary).منابع قالب : منابع قالب در
themes.xml(به جایstyles.xml) قرار دارند وTheme.<var>استفاده میکنند.<var> Theme.<var>نامهای<var> Theme.<var>.<var> تم تاریک : تمهای برنامهی پایه از والدهای
DayNightاستفاده میکنند و بهres/valuesوres/values-nightتقسیم میشوند.ویژگیهای تم : منابع رنگ به عنوان ویژگیهای تم (برای مثال،
?attr/colorPrimary) در طرحبندیها و استایلها ارجاع داده میشوند تا از رنگهای کدنویسیشدهی ثابت جلوگیری شود.
اینتلیجی آیدیا ۲۰۲۰.۱
هسته اصلی IDE اندروید استودیو با بهبودهایی از IntelliJ IDEA تا نسخه 2020.1 بهروزرسانی شده است، از جمله یک پنجره Commit جدید که عملیات کنترل نسخه را فعال میکند و یک حالت Zen جدید که میتوان با انتخاب View > Appearance > Enter Distraction Free Mode آن را فعال یا غیرفعال کرد.
برای کسب اطلاعات بیشتر در مورد پیشرفتهای نسخه ۲۰۲۰.۱، به IDEA 2020.1 مراجعه کنید.
تغییرات دایرکتوری پیکربندی IDE
مکان دایرکتوریهای پیکربندی کاربر به موارد زیر تغییر یافته است:
ویندوز
نحو: %APPDATA%\Google<product><version>
مثال: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1
مکاواس
نحو: ~/Library/Application Support/Google/<product><version>
مثال: ~/Library/Application Support/Google/AndroidStudio4.1
لینوکس
نحو: ~/.config/Google/<product><version>
مثال: ~/.config/Google/AndroidStudio4.1
این مکانهای دایرکتوری جدید با بهروزرسانیهای اخیر IntelliJ IDEA ، IDE که اندروید استودیو بر اساس آن ساخته شده است، سازگار هستند.
اگر استودیو بعد از ارتقا دوباره راهاندازی نشد، ممکن است لازم باشد دایرکتوری پیکربندی را از نسخه قبلی استودیو حذف کنید. برای اطلاعات بیشتر به صفحه مشکلات شناخته شده مراجعه کنید.
کاتلین ۱.۳.۷۲
اندروید استودیو ۴.۱، کاتلین ۱.۳.۷۲ را به همراه دارد که شامل تعدادی اصلاحیه برای بهبود هایلایت کردن، بازرسیها و تکمیل کد کاتلین است. برای جزئیات بیشتر، به گزارش تغییرات کاتلین ۱.۳.۷۲ مراجعه کنید.
پیشنمایش نمای سفارشی
هنگام ایجاد یک نمای سفارشی (برای مثال، با بسط دادن کلاس View یا Button )، اندروید استودیو اکنون پیشنمایشی از نمای سفارشی شما را نشان میدهد. از منوی کشویی در نوار ابزار برای جابجایی بین چندین نمای سفارشی استفاده کنید، یا روی دکمهها کلیک کنید تا به صورت عمودی یا افقی به محتوا بپیچید.

توجه: اگر تغییرات خود را در پیشنمایش نمیبینید، از نوار منو، Build > Make Project را انتخاب کنید.
نمادگذاری برای گزارشهای خرابی بومی
وقتی در کد اصلی، کرش یا ANR رخ میدهد، سیستم یک رد پشته (Stack Trace) تولید میکند که تصویری از توالی توابع تو در تو فراخوانی شده در برنامه شما تا لحظه کرش کردن آن است. این تصاویر میتوانند به شما در شناسایی و رفع هرگونه مشکل در کد منبع کمک کنند، اما ابتدا باید به صورت نمادین نمایش داده شوند تا آدرسهای ماشین به نامهای تابع قابل خواندن توسط انسان تبدیل شوند.
اگر برنامه یا بازی شما با استفاده از کد بومی، مانند C++، توسعه داده شده است، اکنون میتوانید فایلهای نمادهای اشکالزدایی را برای هر نسخه از برنامه خود در کنسول Play آپلود کنید. کنسول Play از این فایلهای نمادهای اشکالزدایی برای نمادینسازی ردپاهای پشته برنامه شما استفاده میکند و تجزیه و تحلیل خرابیها و ANRها را آسانتر میکند. برای یادگیری نحوه آپلود فایلهای نمادهای اشکالزدایی، به پشتیبانی از خرابی بومی مراجعه کنید.
اعمال تغییرات
برای کمک به شما در افزایش بهرهوری در هنگام تکرار برنامهتان، ما بهبودهای زیر را در «اعمال تغییرات» برای دستگاههایی که نسخه پیشنمایش توسعهدهندگان اندروید ۱۱ نسخه ۳ یا بالاتر را اجرا میکنند، اعمال کردهایم:
سرعت استقرار سریعتر
ما با توسعه روشی برای استقرار و حفظ تغییرات روی دستگاه بدون نصب برنامه، سرمایهگذاری زیادی در بهینهسازی سرعت تکرار شما کردهایم. پس از استقرار اولیه، استقرارهای بعدی با استفاده از اعمال تغییرات کد، روی دستگاههای اندروید ۱۱ انجام میشود. یا اعمال تغییرات و شروع مجدد فعالیت
اکنون به طور قابل توجهی سریعتر هستند.
برای کسب اطلاعات بیشتر در مورد تفاوت بین این دو اقدام، به اعمال تغییرات مراجعه کنید.
پشتیبانی از تغییرات کد اضافی
برای دستگاههایی که نسخه پیشنمایش توسعهدهندگان اندروید ۱۱ نسخه ۳ یا بالاتر را اجرا میکنند، اکنون میتوانید با کلیک روی «اعمال تغییرات کد» (Apply Code Changes) متدها را اضافه کرده و سپس آن تغییرات را در برنامه در حال اجرا اعمال کنید. یا اعمال تغییرات و شروع مجدد فعالیت
.