اندروید استودیو دلفین | 2021.3.1 (سپتامبر 2022)

موارد زیر ویژگی های جدید اندروید استودیو دلفین است.

جدید در Compose

موارد زیر ویژگی‌ها و بهبودهای جدید Jetpack Compose در Android Studio است.

آهنگسازی هماهنگی انیمیشن

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

Gif بازرسی با رابط کاربری All Animations را نشان می‌دهد

یادداشت های چند پیش نمایشی بنویسید

اکنون می توانید یک کلاس حاشیه نویسی را تعریف کنید که شامل چندین تعاریف Preview باشد و از آن حاشیه نویسی جدید برای تولید آن پیش نمایش ها به طور همزمان استفاده کنید. از این حاشیه نویسی جدید برای پیش نمایش چندین دستگاه، فونت و تم به طور همزمان استفاده کنید—بدون تکرار آن تعاریف برای هر یک از اجزای سازنده.

رابط کاربری حاشیه نویسی چند پیش نمایش

نوشتن تعداد مجدد ترکیب در Layout Inspector

هنگام اشکال‌زدایی طرح‌بندی‌های Compose، دانستن اینکه چه زمانی composable‌ها دوباره ترکیب می‌شوند یا نه، برای درک اینکه آیا UI شما به درستی پیاده‌سازی شده است یا خیر، مهم است. برای مثال، اگر بارها و بارها دوباره ترکیب می‌شود، ممکن است برنامه شما بیشتر از آنچه لازم است کار کند. از سوی دیگر، اجزایی که زمانی که شما انتظار دارید دوباره ترکیب نمی شوند، می توانند منجر به رفتارهای غیرمنتظره شوند.

Layout Inspector اکنون به شما این امکان را می دهد که ببینید چه زمانی اجزای سازنده گسسته در سلسله مراتب چیدمان مجدداً ترکیب شده اند یا از قلم افتاده اند. در حالی که شما با برنامه خود تعامل دارید، این اطلاعات به صورت زنده نشان داده می شود. برای شروع، مطمئن شوید که برنامه شما از Compose 1.2.0-alpha03 یا بالاتر استفاده می کند. سپس برنامه خود را همانطور که معمولاً انجام می دهید اجرا کنید.

ترکیب جدید و شمارنده پرش در Layout Inspector

پنجره Layout Inspector را باز کنید و به فرآیند برنامه خود متصل شوید. در درخت کامپوننت ، باید دو ستون جدید در کنار سلسله مراتب طرح ظاهر شوند. ستون اول تعداد ترکیبات هر گره را نشان می دهد. ستون دوم تعداد پرش های هر گره را نشان می دهد. شما همچنین می توانید اطلاعات مشابهی را در قسمت Attributes هنگامی که یک ترکیب بندی را از درخت Component یا Layout Display انتخاب می کنید، مشاهده کنید.

اگر می‌خواهید تعداد را بازنشانی کنید، روی Reset در بالای پانل Component Tree کلیک کنید. بازنشانی تعداد می‌تواند به شما کمک کند ترکیب‌های مجدد یا رد شدن‌ها را در طول یک تعامل خاص با برنامه خود درک کنید.

ترکیب را فعال کنید و شمارنده پرش را در Layout Inspector فعال کنید

دستیار جفت شدن شبیه ساز Wear OS به روز شده است

با شروع Android Studio Dolphin Canary 3، دستیار جفت‌سازی شبیه‌ساز Wear OS ویژگی‌های بهبود یافته‌ای دارد که مدیریت و اتصال شبیه‌سازهای Wear را آسان‌تر می‌کند. اکنون می توانید کارهای زیر را انجام دهید:

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

برای استفاده از این ویژگی‌های جدید، مطمئن شوید شبیه‌سازهای تلفن شما سطح API 30 یا بالاتر هستند و فروشگاه Google Play را نصب کرده‌اند. همچنین، مطمئن شوید که شبیه سازهای Wear شما سطح API 28 یا بالاتر هستند. برای ارتقاء به جدیدترین تصاویر سیستم برای دستگاه های شبیه سازی شده خود، به Tools > SDK Manager بروید.

برای اطلاعات بیشتر، به استفاده از دستیار جفت‌سازی شبیه‌ساز Wear OS مراجعه کنید.

نوار ابزار شبیه ساز Wear OS به روز شد

با شروع Android Studio Dolphin Canary 2، برای شبیه‌سازهای Wear با سطح API 28 یا بالاتر، نوار ابزار شبیه‌ساز اکنون دکمه‌هایی دارد که دکمه‌های فیزیکی و اقدامات رایج در دستگاه را شبیه‌سازی می‌کنند. دکمه های جدید عبارتند از: دکمه 1 و دکمه 2 (دکمه 2 فقط در سطح API 30 یا بالاتر موجود است)، دکمه Palm و دکمه Tilt. در اینجا برخی از اقداماتی است که می توانید با استفاده از دکمه های جدید در شبیه ساز Wear خود انجام دهید:

  • برای تنظیم دستگاه خود در حالت محیطی، روی دکمه Palm کلیک کنید.
  • برای بازگرداندن دستگاه خود به آخرین صفحه ای که قبل از حالت محیطی در آن قرار داشت، روی دکمه Tilt کلیک کنید.

برای اطلاعات بیشتر، به انجام اقدامات رایج در شبیه ساز مراجعه کنید.

شبیه ساز Wear با دکمه های مخصوص Wear

پیکربندی‌های جدید Wear OS اجرا می‌شود

پیکربندی‌های اجرای جدید برای اجرای سریع و اشکال‌زدایی سطوح خاص Wear OS مانند صفحه‌های ساعت، کاشی‌ها و عوارض اضافه شده‌اند. شما می توانید این تنظیمات جدید را از پنجره Run/Debug Configurations هنگام اجرای برنامه خود ایجاد کنید.

برای اطلاعات بیشتر، تنظیمات اجرا/اشکال‌زدایی Wear OS را ببینید.

تنظیمات راه اندازی جدید WearOS

Logcat جدید

Logcat به‌روزرسانی شده است تا تجزیه، پرس و جو و ردیابی گزارش‌ها را آسان‌تر کند.

فرمت کننده جدید

Logcat اکنون گزارش‌ها را قالب‌بندی می‌کند تا اسکن اطلاعات مفید مانند برچسب‌ها و پیام‌ها و شناسایی انواع مختلف گزارش‌ها مانند هشدارها و خطاها را آسان‌تر کند.

قالب بندی جدید برای لاگ ها در Logcat

چندین پنجره Logcat ایجاد کنید

اکنون می توانید چندین برگه در Logcat ایجاد کنید تا بتوانید به راحتی بین دستگاه ها یا پرس و جوهای مختلف جابجا شوید. با کلیک راست بر روی یک برگه می‌توانید نام آن را تغییر دهید، و می‌توانید برای مرتب کردن مجدد برگه‌ها کلیک کرده و بکشید.

علاوه بر این، برای کمک به مقایسه آسان‌تر بین دو مجموعه گزارش، اکنون می‌توانید با کلیک راست در نمای گزارش و انتخاب Split Right یا Split Down، نمای را در یک برگه تقسیم کنید. برای بستن یک تقسیم، کلیک راست کرده و بستن را انتخاب کنید. هر تقسیم به شما امکان می دهد اتصال دستگاه خود را تنظیم کنید، گزینه ها را مشاهده کنید، و پرس و جو کنید.

ایجاد چندین پنجره logcat با استفاده از splits

جابجایی بین تنظیمات از پیش تعیین شده مشاهده

Logcat اکنون به شما امکان می‌دهد تا با کلیک کردن، به سرعت بین حالت‌های مشاهده مختلف - استاندارد ، فشرده و سفارشی جابجا شوید. مشاهده انتخابگر حالت . هر حالت نمایش، تنظیمات پیش‌فرض متفاوتی را برای نشان دادن اطلاعات بیشتر یا کمتر، مانند مُهرهای زمانی، برچسب‌ها، و شناسه‌های فرآیند (PID) ارائه می‌کند. همچنین می‌توانید هر یک از این حالت‌های نمایش پیش‌فرض و همچنین یک حالت نمایش سفارشی را با انتخاب Modify View شخصی‌سازی کنید.

اسکرین شات جابجایی بین حالت‌های دید مختلف

در نسخه قبلی Logcat، شما این گزینه را داشتید که از جستجوی رشته ای (با پشتیبانی از عبارات منظم) استفاده کنید یا با پر کردن فیلدهای مختلف با استفاده از رابط کاربری Logcat، یک فیلتر جدید ایجاد کنید. گزینه اول جستجو را پیچیده تر کرد و گزینه دوم اشتراک گذاری و تنظیم پرس و جوها را دشوارتر کرد. ما اکنون تجربه را با معرفی جستجوهای کلید-مقدار مستقیماً از فیلد جستجوی اصلی ساده کرده‌ایم.

اسکرین شات نحو پرس و جو جدید با تکمیل خودکار

این سیستم پرس و جوی جدید، دقت آنچه را که می خواهید پرس و جو کنید، بدون تکیه بر عبارات منظم، با قابلیت یادآوری پرس و جوهای گذشته از تاریخ، و به اشتراک گذاری آن پرس و جوها با دیگران، فراهم می کند. علاوه بر این، شما همچنان می‌توانید از RegEx استفاده کنید و لاگ‌ها را بر اساس مقادیر کلیدی حذف کنید. در اینجا چند نمونه از نحوه استفاده از سیستم پرس و جو جدید آورده شده است، اما همچنین می توانید به سادگی شروع به تایپ در قسمت query کنید تا پیشنهادات را مشاهده کنید:

  • PID برای پروژه برنامه محلی : package:mine
  • مقادیر خاص :
    • package:<package-ID>
    • tag:<tag>
    • level:[VERBOSE | INFO | ASSERT |DEBUG | WARN | ERROR ]
  • یک مقدار خاص را با قرار دادن کلید با - حذف کنید:
    • -tag:<exclude-tag>
  • با قرار دادن ~ بعد از کلید از عبارات منظم با یک کلید داده شده استفاده کنید :
    • tag~:<regular-expression-tag>
    • با تگ exclude ترکیب کنید: -tag~:<exclude-regular-expression-tag>

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

تاریخچه پرس و جو اسکرین شات با موارد دلخواه

ردیابی گزارش‌ها در بین خرابی/راه‌اندازی مجدد برنامه

Logcat جدید اکنون ردیابی گزارش‌های برنامه شما را در بین خرابی‌ها و راه‌اندازی مجدد برنامه آسان‌تر می‌کند تا گزارش‌های مهم را در این رویدادها از دست ندهید. هنگامی که Logcat متوجه می‌شود که فرآیند برنامه شما متوقف شده و مجدداً راه‌اندازی شده است، پیامی مانند PROCESS ENDED و PROCESS STARTED در خروجی مشاهده خواهید کرد که در زیر نشان داده شده است:

اسکرین شات فرآیند در لاگ کت راه اندازی مجدد می شود

و راه‌اندازی مجدد Logcat پیکربندی جلسه شما مانند تقسیم برگه‌ها، فیلترها و گزینه‌های مشاهده را حفظ می‌کند تا بتوانید به راحتی جلسه خود را ادامه دهید.

دستگاه های مدیریت شده Gradle

به منظور بهبود سازگاری، عملکرد و قابلیت اطمینان هنگام استفاده از دستگاه‌های مجازی Android برای آزمایش‌های خودکار خودکار، دستگاه‌های مدیریت‌شده Gradle را معرفی می‌کنیم. این ویژگی که برای سطوح API 27 و بالاتر در دسترس است، به شما امکان می دهد دستگاه های آزمایش مجازی را در فایل های Gradle پروژه خود پیکربندی کنید. سیستم ساخت از پیکربندی‌ها برای مدیریت کامل آن دستگاه‌ها در هنگام اجرای آزمایش‌های خودکار شما استفاده می‌کند.

این ویژگی به Gradle نه تنها روی تست‌هایی که در حال اجرا هستید، بلکه چرخه عمر دستگاه‌ها را نیز دید می‌دهد، بنابراین کیفیت تجربه آزمایشی شما را به روش‌های زیر بهبود می‌بخشد:

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

به‌علاوه، دستگاه‌های مدیریت‌شده Gradle نوع جدیدی از دستگاه‌های شبیه‌ساز به نام دستگاه‌های تست خودکار (ATD) را معرفی می‌کنند که برای بهبود عملکرد هنگام اجرای آزمایش‌های ابزار دقیق بهینه‌سازی شده‌اند. همراه با پشتیبانی از اشتراک گذاری تست ، می توانید با تقسیم مجموعه آزمایشی خود در چندین نمونه ATD آزمایش کنید تا زمان کلی اجرای آزمون را کاهش دهید. برای کسب اطلاعات بیشتر درباره دستگاه‌های مدیریت‌شده Gradle و ویژگی‌های مرتبط با آن، به «مقیاس‌سازی آزمایش‌های خود با دستگاه‌های مدیریت‌شده Gradle» مراجعه کنید.

پشتیبانی R8 با استفاده از فایل‌های نقشه‌برداری بر اساس افست‌های دستورالعمل DEX

هنگام بهینه‌سازی اطلاعات خط، R8 اکنون می‌تواند اطلاعات را در اشیاء اطلاعات اشکال‌زدایی مشترک با جداول خط بر اساس افست‌های دستورالعمل رمزگذاری کند. این به طور قابل ملاحظه ای هزینه سربار اطلاعات خط را کاهش می دهد. اثر این است که خطوط در روش‌ها دیگر متوالی نیستند، اما ممکن است بسته به اندازه دستورالعمل‌ها در فواصل زمانی مختلف پرش کنند. توجه داشته باشید که برخی از ابزارها این رمزگذاری مشترک را در نظر نمی گیرند.

بعلاوه، ماشین‌های مجازی Android که از O (سطح API 26) شروع می‌شوند، در صورتی که روش اطلاعات شماره خطی نداشته باشد، از تعویض دستورالعمل چاپ در ردیابی پشته پشتیبانی می‌کنند. هنگام کامپایل با minSdk 26 یا بالاتر، و بدون اطلاعات فایل منبع، R8 اطلاعات شماره خط را به طور کامل حذف می کند.

لامبداهای بدون تابعیت دیگر به عنوان تک قلوها قند زدایی نمی شوند

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

R8 از کند شدن سرعت تأیید در زمان اجرا اندروید جلوگیری می کند

برای از بین بردن مشکلات عملکرد در زمان‌های اجرا اندروید (Dalvik و ART)، R8 (نه D8) اکنون موارد خرد کتابخانه و فراخوانی‌های کلی روش‌های کتابخانه را برای کلاس‌های کتابخانه و روش‌هایی که ممکن است در زمان اجرا وجود نداشته باشند، معرفی می‌کند. انجام این کار بسیاری از مشکلات تأیید را از بین می برد و عملکرد زمان اجرا را بهبود می بخشد. این ویژگی همیشه فعال است.

پشتیبانی از JDK-11 API با جاوا 8+ API desugaring

هنگام استفاده از وابستگی coreLibraryDesugaring اکنون از یک کتابخانه پیاده سازی مبتنی بر JDK-11 پشتیبانی می شود. برای اطلاعات بیشتر به گزارش تغییرات desugar_jdk_libs مراجعه کنید.

پچ منتشر می شود

در زیر لیستی از پچ های منتشر شده در Android Studio Dolphin آمده است.

اندروید استودیو دلفین | پچ 1 2021.3.1 (اکتبر 2022)

با انتشار Patch 1، Android Studio Dolphin اکنون از پلاگین Kotlin 1.7.20 پشتیبانی می کند. این به روز رسانی جزئی شامل رفع اشکال زیر نیز می شود:

رفع مشکلات
پلاگین اندروید Gradle
اجرای تست‌های اندرویدی ابزاردار از طریق gradle نمی‌تواند به درستی از شیرین‌زدایی استفاده کند
AGP 7.3.0 همگام سازی gradle را برای پروژه های پلت فرم gradle می شکند
دکسر (D8)
هنگام ادغام DEX یک API عمومی برای حل تعارض اضافه کنید (برای bazel برای اجازه دادن به کلاس‌های تکراری)
وارد کردن/همگام سازی
Gradle Project Import پس از ارتقاء از Chipmunk Patch 2 (2021.2.1) با شکست مواجه شد.
منابع
NPE در AarResourceRepositoryCache.createCachingData (AS Dolphin+)
کوچک کننده (R8)
هنگام تایپ کردن فیلدهای جایگزین، ابرداده Kotlin کپی نمی‌شود
تبدیل غیرمنتظره از نوع غیر دقیق: TOP (همه چیز)
Gradle 7.3.0 باعث خطای ساخت APK com.android.tools.r8.CompilationFailedException
سازندگان پیش فرض مرده را در حالت compat حذف کنید.
درگیری با JetBrains Markdown
پشتیبانی از ThreadLocal.withInitial(java.util.function.Supplier
AGP 7.3 dex را برای کلاس هایی با سازنده شکسته تولید می کند
تلاش غیرمنتظره برای تعیین اینکه آیا کد غیر CF نیاز به قندزدایی دارد یا خیر
ktor VerifyError
هنگام پردازش okio-jvm 3.2.0 مقدار نامشخصی که هنگام کامپایل با آن مواجه شد
شکست در کامپایل از شی درون‌بندی کلاس با نمونه غیرمستقیم کاربران
java.lang.IllegalAccessError با R8 3.3.75

،

موارد زیر ویژگی های جدید اندروید استودیو دلفین است.

جدید در Compose

موارد زیر ویژگی‌ها و بهبودهای جدید Jetpack Compose در Android Studio است.

آهنگسازی هماهنگی انیمیشن

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

Gif بازرسی با رابط کاربری All Animations را نشان می‌دهد

یادداشت های چند پیش نمایشی بنویسید

اکنون می توانید یک کلاس حاشیه نویسی را تعریف کنید که شامل چندین تعاریف Preview باشد و از آن حاشیه نویسی جدید برای تولید آن پیش نمایش ها به طور همزمان استفاده کنید. از این حاشیه نویسی جدید برای پیش نمایش چندین دستگاه، فونت و تم به طور همزمان استفاده کنید—بدون تکرار آن تعاریف برای هر یک از اجزای سازنده.

رابط کاربری حاشیه نویسی چند پیش نمایش

نوشتن تعداد مجدد ترکیب در Layout Inspector

هنگام اشکال‌زدایی طرح‌بندی‌های Compose، دانستن اینکه چه زمانی composable‌ها دوباره ترکیب می‌شوند یا نه، برای درک اینکه آیا UI شما به درستی پیاده‌سازی شده است یا خیر، مهم است. برای مثال، اگر بارها و بارها دوباره ترکیب می‌شود، ممکن است برنامه شما بیشتر از آنچه لازم است کار کند. از سوی دیگر، اجزایی که زمانی که شما انتظار دارید دوباره ترکیب نمی شوند، می توانند منجر به رفتارهای غیرمنتظره شوند.

Layout Inspector اکنون به شما این امکان را می دهد که ببینید چه زمانی اجزای سازنده گسسته در سلسله مراتب چیدمان مجدداً ترکیب شده اند یا از قلم افتاده اند. در حالی که شما با برنامه خود تعامل دارید، این اطلاعات به صورت زنده نشان داده می شود. برای شروع، مطمئن شوید که برنامه شما از Compose 1.2.0-alpha03 یا بالاتر استفاده می کند. سپس برنامه خود را همانطور که معمولاً انجام می دهید اجرا کنید.

ترکیب جدید و شمارنده پرش در Layout Inspector

پنجره Layout Inspector را باز کنید و به فرآیند برنامه خود متصل شوید. در درخت کامپوننت ، باید دو ستون جدید در کنار سلسله مراتب طرح ظاهر شوند. ستون اول تعداد ترکیبات هر گره را نشان می دهد. ستون دوم تعداد پرش های هر گره را نشان می دهد. شما همچنین می توانید اطلاعات مشابهی را در قسمت Attributes هنگامی که یک ترکیب بندی را از درخت Component یا Layout Display انتخاب می کنید، مشاهده کنید.

اگر می‌خواهید تعداد را بازنشانی کنید، روی Reset در بالای پانل Component Tree کلیک کنید. بازنشانی تعداد می‌تواند به شما کمک کند ترکیب‌های مجدد یا رد شدن‌ها را در طول یک تعامل خاص با برنامه خود درک کنید.

ترکیب را فعال کنید و شمارنده پرش را در Layout Inspector فعال کنید

دستیار جفت شدن شبیه ساز Wear OS به روز شده است

با شروع Android Studio Dolphin Canary 3، دستیار جفت‌سازی شبیه‌ساز Wear OS ویژگی‌های بهبود یافته‌ای دارد که مدیریت و اتصال شبیه‌سازهای Wear را آسان‌تر می‌کند. اکنون می توانید کارهای زیر را انجام دهید:

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

برای استفاده از این ویژگی‌های جدید، مطمئن شوید شبیه‌سازهای تلفن شما سطح API 30 یا بالاتر هستند و فروشگاه Google Play را نصب کرده‌اند. همچنین، مطمئن شوید که شبیه سازهای Wear شما سطح API 28 یا بالاتر هستند. برای ارتقاء به جدیدترین تصاویر سیستم برای دستگاه های شبیه سازی شده خود، به Tools > SDK Manager بروید.

برای اطلاعات بیشتر، به استفاده از دستیار جفت‌سازی شبیه‌ساز Wear OS مراجعه کنید.

نوار ابزار شبیه ساز Wear OS به روز شد

با شروع Android Studio Dolphin Canary 2، برای شبیه‌سازهای Wear با سطح API 28 یا بالاتر، نوار ابزار شبیه‌ساز اکنون دکمه‌هایی دارد که دکمه‌های فیزیکی و اقدامات رایج در دستگاه را شبیه‌سازی می‌کنند. دکمه های جدید عبارتند از: دکمه 1 و دکمه 2 (دکمه 2 فقط در سطح API 30 یا بالاتر موجود است)، دکمه Palm و دکمه Tilt. در اینجا برخی از اقداماتی است که می توانید با استفاده از دکمه های جدید در شبیه ساز Wear خود انجام دهید:

  • برای تنظیم دستگاه خود در حالت محیطی، روی دکمه Palm کلیک کنید.
  • برای بازگرداندن دستگاه خود به آخرین صفحه ای که قبل از حالت محیطی در آن قرار داشت، روی دکمه Tilt کلیک کنید.

برای اطلاعات بیشتر، به انجام اقدامات رایج در شبیه ساز مراجعه کنید.

شبیه ساز Wear با دکمه های مخصوص Wear

پیکربندی‌های جدید Wear OS اجرا می‌شود

پیکربندی‌های اجرای جدید برای اجرای سریع و اشکال‌زدایی سطوح خاص Wear OS مانند صفحه‌های ساعت، کاشی‌ها و عوارض اضافه شده‌اند. شما می توانید این تنظیمات جدید را از پنجره Run/Debug Configurations هنگام اجرای برنامه خود ایجاد کنید.

برای اطلاعات بیشتر، تنظیمات اجرا/اشکال‌زدایی Wear OS را ببینید.

تنظیمات راه اندازی جدید WearOS

Logcat جدید

Logcat به‌روزرسانی شده است تا تجزیه، پرس و جو و ردیابی گزارش‌ها را آسان‌تر کند.

فرمت کننده جدید

Logcat اکنون گزارش‌ها را قالب‌بندی می‌کند تا اسکن اطلاعات مفید مانند برچسب‌ها و پیام‌ها و شناسایی انواع مختلف گزارش‌ها مانند هشدارها و خطاها را آسان‌تر کند.

قالب بندی جدید برای لاگ ها در Logcat

چندین پنجره Logcat ایجاد کنید

اکنون می توانید چندین برگه در Logcat ایجاد کنید تا بتوانید به راحتی بین دستگاه ها یا پرس و جوهای مختلف جابجا شوید. با کلیک راست بر روی یک برگه می‌توانید نام آن را تغییر دهید، و می‌توانید برای مرتب کردن مجدد برگه‌ها کلیک کرده و بکشید.

علاوه بر این، برای کمک به مقایسه آسان‌تر بین دو مجموعه گزارش، اکنون می‌توانید با کلیک راست در نمای گزارش و انتخاب Split Right یا Split Down، نمای را در یک برگه تقسیم کنید. برای بستن یک تقسیم، کلیک راست کرده و بستن را انتخاب کنید. هر تقسیم به شما امکان می دهد اتصال دستگاه خود را تنظیم کنید، گزینه ها را مشاهده کنید، و پرس و جو کنید.

ایجاد چندین پنجره logcat با استفاده از splits

جابجایی بین تنظیمات از پیش تعیین شده مشاهده

Logcat اکنون به شما امکان می‌دهد تا با کلیک کردن، به سرعت بین حالت‌های مشاهده مختلف - استاندارد ، فشرده و سفارشی جابجا شوید. مشاهده انتخابگر حالت . هر حالت نمایش، تنظیمات پیش‌فرض متفاوتی را برای نشان دادن اطلاعات بیشتر یا کمتر، مانند مُهرهای زمانی، برچسب‌ها، و شناسه‌های فرآیند (PID) ارائه می‌کند. همچنین می‌توانید هر یک از این حالت‌های نمایش پیش‌فرض و همچنین یک حالت نمایش سفارشی را با انتخاب Modify View شخصی‌سازی کنید.

اسکرین شات جابجایی بین حالت‌های دید مختلف

در نسخه قبلی Logcat، شما این گزینه را داشتید که از جستجوی رشته ای (با پشتیبانی از عبارات منظم) استفاده کنید یا با پر کردن فیلدهای مختلف با استفاده از رابط کاربری Logcat، یک فیلتر جدید ایجاد کنید. گزینه اول جستجو را پیچیده تر کرد و گزینه دوم اشتراک گذاری و تنظیم پرس و جوها را دشوارتر کرد. ما اکنون تجربه را با معرفی جستجوهای کلید-مقدار مستقیماً از فیلد جستجوی اصلی ساده کرده‌ایم.

اسکرین شات نحو پرس و جو جدید با تکمیل خودکار

این سیستم پرس و جوی جدید، دقت آنچه را که می خواهید پرس و جو کنید، بدون تکیه بر عبارات منظم، با قابلیت یادآوری پرس و جوهای گذشته از تاریخ، و به اشتراک گذاری آن پرس و جوها با دیگران، فراهم می کند. علاوه بر این، شما همچنان می‌توانید از RegEx استفاده کنید و لاگ‌ها را بر اساس مقادیر کلیدی حذف کنید. در اینجا چند نمونه از نحوه استفاده از سیستم پرس و جو جدید آورده شده است، اما همچنین می توانید به سادگی شروع به تایپ در قسمت query کنید تا پیشنهادات را مشاهده کنید:

  • PID برای پروژه برنامه محلی : package:mine
  • مقادیر خاص :
    • package:<package-ID>
    • tag:<tag>
    • level:[VERBOSE | INFO | ASSERT |DEBUG | WARN | ERROR ]
  • یک مقدار خاص را با قرار دادن کلید با - حذف کنید:
    • -tag:<exclude-tag>
  • با قرار دادن ~ بعد از کلید از عبارات منظم با یک کلید داده شده استفاده کنید :
    • tag~:<regular-expression-tag>
    • با تگ exclude ترکیب کنید: -tag~:<exclude-regular-expression-tag>

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

تاریخچه پرس و جو اسکرین شات با موارد دلخواه

ردیابی گزارش‌ها در بین خرابی/راه‌اندازی مجدد برنامه

Logcat جدید اکنون ردیابی گزارش‌های برنامه شما را در بین خرابی‌ها و راه‌اندازی مجدد برنامه آسان‌تر می‌کند تا گزارش‌های مهم را در این رویدادها از دست ندهید. هنگامی که Logcat متوجه می‌شود که فرآیند برنامه شما متوقف شده و مجدداً راه‌اندازی شده است، پیامی مانند PROCESS ENDED و PROCESS STARTED در خروجی مشاهده خواهید کرد که در زیر نشان داده شده است:

اسکرین شات فرآیند در لاگ کت راه اندازی مجدد می شود

و راه‌اندازی مجدد Logcat پیکربندی جلسه شما مانند تقسیم برگه‌ها، فیلترها و گزینه‌های مشاهده را حفظ می‌کند تا بتوانید به راحتی جلسه خود را ادامه دهید.

دستگاه های مدیریت شده Gradle

به منظور بهبود سازگاری، عملکرد و قابلیت اطمینان هنگام استفاده از دستگاه‌های مجازی Android برای آزمایش‌های خودکار خودکار، دستگاه‌های مدیریت‌شده Gradle را معرفی می‌کنیم. این ویژگی که برای سطوح API 27 و بالاتر در دسترس است، به شما امکان می دهد دستگاه های آزمایش مجازی را در فایل های Gradle پروژه خود پیکربندی کنید. سیستم ساخت از پیکربندی‌ها برای مدیریت کامل آن دستگاه‌ها در هنگام اجرای آزمایش‌های خودکار شما استفاده می‌کند.

این ویژگی به Gradle نه تنها روی تست‌هایی که در حال اجرا هستید، بلکه چرخه عمر دستگاه‌ها را نیز دید می‌دهد، بنابراین کیفیت تجربه آزمایشی شما را به روش‌های زیر بهبود می‌بخشد:

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

به‌علاوه، دستگاه‌های مدیریت‌شده Gradle نوع جدیدی از دستگاه‌های شبیه‌ساز به نام دستگاه‌های تست خودکار (ATD) را معرفی می‌کنند که برای بهبود عملکرد هنگام اجرای آزمایش‌های ابزار دقیق بهینه‌سازی شده‌اند. همراه با پشتیبانی از اشتراک گذاری تست ، می توانید با تقسیم مجموعه آزمایشی خود در چندین نمونه ATD آزمایش کنید تا زمان کلی اجرای آزمون را کاهش دهید. برای کسب اطلاعات بیشتر درباره دستگاه‌های مدیریت‌شده Gradle و ویژگی‌های مرتبط با آن، به «مقیاس‌سازی آزمایش‌های خود با دستگاه‌های مدیریت‌شده Gradle» مراجعه کنید.

پشتیبانی R8 با استفاده از فایل‌های نقشه‌برداری بر اساس افست‌های دستورالعمل DEX

هنگام بهینه‌سازی اطلاعات خط، R8 اکنون می‌تواند اطلاعات را در اشیاء اطلاعات اشکال‌زدایی مشترک با جداول خط بر اساس افست‌های دستورالعمل رمزگذاری کند. این به طور قابل ملاحظه ای هزینه سربار اطلاعات خط را کاهش می دهد. اثر این است که خطوط در روش‌ها دیگر متوالی نیستند، اما ممکن است بسته به اندازه دستورالعمل‌ها در فواصل زمانی مختلف پرش کنند. توجه داشته باشید که برخی از ابزارها این رمزگذاری مشترک را در نظر نمی گیرند.

بعلاوه، ماشین‌های مجازی Android که از O (سطح API 26) شروع می‌شوند، در صورتی که روش اطلاعات شماره خطی نداشته باشد، از تعویض دستورالعمل چاپ در ردیابی پشته پشتیبانی می‌کنند. هنگام کامپایل با minSdk 26 یا بالاتر، و بدون اطلاعات فایل منبع، R8 اطلاعات شماره خط را به طور کامل حذف می کند.

لامبداهای بدون تابعیت دیگر به عنوان تک قلوها قند زدایی نمی شوند

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

R8 از کند شدن سرعت تأیید در زمان اجرا اندروید جلوگیری می کند

برای از بین بردن مشکلات عملکرد در زمان‌های اجرا اندروید (Dalvik و ART)، R8 (نه D8) اکنون موارد خرد کتابخانه و فراخوانی‌های کلی روش‌های کتابخانه را برای کلاس‌های کتابخانه و روش‌هایی که ممکن است در زمان اجرا وجود نداشته باشند، معرفی می‌کند. انجام این کار بسیاری از مشکلات تأیید را از بین می برد و عملکرد زمان اجرا را بهبود می بخشد. این ویژگی همیشه فعال است.

پشتیبانی از JDK-11 API با جاوا 8+ API desugaring

هنگام استفاده از وابستگی coreLibraryDesugaring اکنون از یک کتابخانه پیاده سازی مبتنی بر JDK-11 پشتیبانی می شود. برای اطلاعات بیشتر به گزارش تغییرات desugar_jdk_libs مراجعه کنید.

پچ منتشر می شود

در زیر لیستی از پچ های منتشر شده در Android Studio Dolphin آمده است.

اندروید استودیو دلفین | پچ 1 2021.3.1 (اکتبر 2022)

با انتشار Patch 1، Android Studio Dolphin اکنون از پلاگین Kotlin 1.7.20 پشتیبانی می کند. این به روز رسانی جزئی شامل رفع اشکال زیر نیز می شود:

رفع مشکلات
افزونه Gradle اندروید
اجرای تست‌های اندرویدی ابزاردار از طریق gradle نمی‌تواند به درستی از شیرین‌زدایی استفاده کند
AGP 7.3.0 همگام سازی gradle را برای پروژه های پلت فرم gradle می شکند
دکسر (D8)
هنگام ادغام DEX یک API عمومی برای حل تعارض اضافه کنید (برای bazel برای اجازه دادن به کلاس‌های تکراری)
وارد کردن/همگام سازی
Gradle Project Import پس از ارتقاء از Chipmunk Patch 2 (2021.2.1) با شکست مواجه شد.
منابع
NPE در AarResourceRepositoryCache.createCachingData (AS Dolphin+)
کوچک کننده (R8)
هنگام تایپ کردن فیلدهای جایگزین، ابرداده Kotlin کپی نمی‌شود
تبدیل غیرمنتظره از نوع غیر دقیق: TOP (همه چیز)
Gradle 7.3.0 باعث خطای ساخت APK com.android.tools.r8.CompilationFailedException
سازندگان پیش فرض مرده را در حالت compat حذف کنید.
درگیری با JetBrains Markdown
پشتیبانی از ThreadLocal.withInitial(java.util.function.Supplier
AGP 7.3 dex را برای کلاس هایی با سازنده شکسته تولید می کند
تلاش غیرمنتظره برای تعیین اینکه آیا کد غیر CF نیاز به قندزدایی دارد یا خیر
ktor VerifyError
هنگام پردازش okio-jvm 3.2.0 مقدار نامشخصی که هنگام کامپایل با آن مواجه شد
شکست در کامپایل از شی درون‌بندی کلاس با نمونه غیرمستقیم کاربران
java.lang.IllegalAccessError با R8 3.3.75