اندروید استودیو Arctic Fox | 2020.3.1 (ژوئیه 2021)

Android Studio Arctic Fox یک نسخه اصلی است که شامل انواع ویژگی‌ها و بهبودهای جدید است.

شماره گذاری نسخه جدید

شماره گذاری نسخه به روز شده برای Android Studio

ما سیستم شماره‌گذاری نسخه‌ها را برای Android Studio تغییر داده‌ایم تا با IntelliJ IDEA ، IDE که Android Studio مبتنی بر آن است، هماهنگ‌تر شود.

در سیستم شماره گذاری قبلی، این نسخه به عنوان Android Studio 4.3 یا نسخه 4.3.0.1 شماره گذاری می شد. با سیستم شماره گذاری جدید، اکنون اندروید استودیو - Arctic Fox | 2020.3.1 یا نسخه 2020.3.1 .

نسخه Intellij نام قدیمی قدیمی - سیستم شماره سیستم سال نو نام نسخه جدید
2020.3 4.3 4.3.0 2020.3.1 روباه قطبی | 2020.3.1

در ادامه، نحوه تعیین شماره نسخه Android Studio به این صورت است:

<Year of IntelliJ Version> . <IntelliJ major version> . <Studio major version> . <Studio minor/patch version>

  • دو گروه اعداد اول، نسخه ای از پلتفرم IntellIj را نشان می دهند که یک نسخه خاص اندروید استودیو بر اساس آن است. برای این نسخه، نسخه 2020.3 است.
  • گروه شماره سوم نشان دهنده نسخه اصلی استودیو است که از 1 شروع می شود و برای هر نسخه اصلی یک افزایش می یابد.
  • گروه شماره چهارم نسخه مینور/وصله استودیو را نشان می‌دهد که از 1 شروع می‌شود و به ازای هر نسخه جزئی یک عدد افزایش می‌یابد.
  • ما همچنین به هر نسخه اصلی یک نام نسخه می دهیم که بر اساس نام حیوانات از A به Z افزایش می یابد. این نسخه Arctic Fox نام دارد.

شماره گذاری نسخه به روز شده برای افزونه Android Gradle

ما شماره‌گذاری نسخه برای افزونه Android Gradle (AGP) را تغییر داده‌ایم تا با ابزار ساخت Gradle بیشتر مطابقت داشته باشد. بنابراین، AGP 7.0 نسخه بعدی بعد از AGP 4.2 است.

برای جزئیات بیشتر، تغییرات نسخه در یادداشت های انتشار AGP را ببینید.

پلاگین اندروید Gradle 7.0.0

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

اکنون در تست های واحد از Runner تست Gradle استفاده می شود

برای بهبود سازگاری کلی اجرای آزمایش‌ها، Android Studio اکنون از Gradle برای اجرای تمام تست‌های واحد به‌طور پیش‌فرض استفاده می‌کند. در بسیاری از موارد، این تغییر بر گردش کار آزمایشی شما در IDE تأثیری نخواهد گذاشت.

به عنوان مثال، وقتی روی دستور Run در منوی زمینه کلیک می‌کنید (وقتی روی یک کلاس آزمایشی کلیک راست می‌کنید قابل مشاهده است) یا عملکرد ناودانی مربوط به آن ، Android Studio به طور پیش فرض از پیکربندی اجرای Gradle برای اجرای تست های واحد استفاده می کند.

منوی زمینه برای اجرای تست ها

با این حال، Android Studio دیگر پیکربندی‌های اجرا شده Android JUnit را شناسایی نمی‌کند، بنابراین باید پیکربندی‌های اجرای Android JUnit را که ممکن است به‌عنوان فایل‌های پروژه ذخیره کنید، به پیکربندی‌های اجرای Gradle منتقل کنید.

برای ایجاد یک پیکربندی آزمایشی Gradle، هنگام دنبال کردن دستورالعمل‌های موجود در ایجاد پیکربندی جدید اجرای/اشکال‌زدایی، الگوی Gradle را انتخاب کنید. هنگامی که یک پیکربندی جدید ایجاد کردید، در گفتگوی ویرایش تنظیمات در بخش Gradle ظاهر می شود:

تنظیمات آزمایشی را در Android Studio ویرایش کنید

اگر می‌خواهید پیکربندی‌های Android JUnit را که دیگر شناسایی نمی‌شوند بررسی کنید، می‌توانید یکی از این دو کار را انجام دهید:

  • تنظیمات ذخیره شده دستی را در یک ویرایشگر متن باز کنید. مکان این فایل ها توسط کاربر مشخص می شود، اما فایل ها معمولاً در <my-app> /.idea/runConfigurations/ ظاهر می شوند.
  • به دنبال پیکربندی های موقت در <my-app> /.idea/workspace.xml بگردید و زیر گره <component name="RunManager" ...> را جستجو کنید. به عنوان مثال:

    <component name="RunManager" selected="Gradle.PlantTest">
    
    <configuration name="PlantTest" type="AndroidJUnit" factoryName="Android JUnit" nameIsGenerated="true">
          <module name="Sunflower.app" />
          <useClassPathOnly />
          <extension name="coverage">
            <pattern>
              <option name="PATTERN" value="com.google.samples.apps.sunflower.data.*" />
              <option name="ENABLED" value="true" />
            </pattern>
          </extension>
          <option name="PACKAGE_NAME" value="com.google.samples.apps.sunflower.data" />
          <option name="MAIN_CLASS_NAME" value="com.google.samples.apps.sunflower.data.PlantTest" />
          <option name="METHOD_NAME" value="" />
          <option name="TEST_OBJECT" value="class" />
          <option name="PARAMETERS" value="" />
          <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
          <method v="2">
            <option name="Android.Gradle.BeforeRunTask" enabled="true" />
          </method>
        </configuration>
    

دستیار ارتقاء بهبود یافته برای AGP

افزونه Upgrade Assistant for Android Gradle اکنون دارای یک پنجره ابزار دائمی با لیست مراحلی است که تکمیل خواهد شد. اطلاعات اضافی نیز در سمت راست پنجره ابزار ارائه شده است. در صورت نیاز، می توانید نسخه دیگری از AGP را نیز برای ارتقاء انتخاب کنید. با کلیک بر روی دکمه Refresh ، مراحل به روز رسانی مربوطه به روز می شود.

پنجره ابزار دائمی جدید در دستیار ارتقا

Refactoring برای کلاس های R غیر گذرا

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

با رفتن به Refactor > Migrate to Non-transitive R Classes می توانید به این ویژگی دسترسی داشته باشید.

بازرس کار پس زمینه جدید

می توانید با استفاده از Background Task Inspector جدید، کارمندان پس زمینه برنامه خود را تجسم، نظارت و اشکال زدایی کنید. برای شروع، برنامه خود را در دستگاهی که دارای کتابخانه WorkManager نسخه 2.5.0 یا بالاتر است، مستقر کنید و از نوار منو View > Tool Windows > App Inspection را انتخاب کنید.

کارگران فعال در Background Task Inspector

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

برگه جزئیات کارگر

همچنین می‌توانید با انتخاب یک کارگر از جدول و کلیک کردن روی نمایش نمودار نمودار، نمایش تصویری یک زنجیره کارگر را مشاهده کنید. از نوار ابزار سپس می‌توانید هر کارگری را در زنجیره انتخاب کنید تا جزئیات آن را ببینید، یا اگر در حال حاضر در نوبت است یا در حال اجرا است، آن را متوقف کنید. برای بازگشت به جدول، روی Show List View کلیک کنید .

زنجیره کارگری بازرس وظیفه پس زمینه

برای کمک به بررسی مشکلات کارگرانی که اجرا نمی‌شوند، می‌توانید یک کارگر در حال اجرا یا در صف را با انتخاب آن از جدول و کلیک بر روی Cancel Selected Worker متوقف کنید. از نوار ابزار همچنین می توانید کارگران جدول را بر اساس برچسب هایی که به آنها اختصاص داده اید با استفاده از منوی کشویی All tags فیلتر کنید.

به روز رسانی بازرس پایگاه داده

بازرس پایگاه داده اکنون در پنجره ابزار بازرسی برنامه جدید گنجانده شده است، جایی که می‌توانید بازرس وظیفه پس‌زمینه جدید را نیز پیدا کنید. پنجره ابزار بازرسی برنامه را از نوار پنجره ابزار باز کنید یا از نوار منو View > Tool Windows > App Inspection را انتخاب کنید.

داده ها را از بازرس پایگاه داده صادر کنید

در Arctic Fox، می‌توانید به راحتی پایگاه‌های داده، جداول و نتایج جستجو را از Database Inspector برای ذخیره، اشتراک‌گذاری یا ایجاد مجدد به صورت محلی صادر کنید. هنگامی که یک پروژه برنامه را در Android Studio باز می‌کنید و برنامه مربوط به آن پروژه را در Database Inspector بررسی می‌کنید، می‌توانید صادرات داده‌ها را به یکی از روش‌های زیر آغاز کنید:

  • یک پایگاه داده یا جدول را در پانل پایگاه داده انتخاب کنید و بر روی Export کلیک کنید تا فایل در نزدیکی بالای پانل قرار گیرد.
  • روی یک پایگاه داده یا جدول در پانل پایگاه داده کلیک راست کرده و از منوی زمینه Export to file را انتخاب کنید.
  • هنگام بررسی نتایج جدول یا پرس و جو در یک برگه، روی Export کلیک کنید تا فایل بالای جدول یا نتایج پرس و جو باشد.

پس از انتخاب یک اقدام صادرات، از کادر گفتگوی صادرات برای کمک به شما در انجام مراحل نهایی، همانطور که در زیر نشان داده شده است، استفاده می کنید. بسته به اینکه می‌خواهید یک پایگاه داده، جدول یا نتایج جستجو را صادر کنید، می‌توانید داده‌ها را در یک یا چند فرمت زیر صادر کنید: DB، SQL یا CSV.

کادر محاوره ای صادر کردن پایگاه داده

رابط کاربری به روز شده برای ضبط در Memory Profiler

ما رابط کاربری Memory Profiler (UI) را برای فعالیت‌های مختلف ضبط، مانند گرفتن یک heap dump و ضبط جاوا، کاتلین، و تخصیص حافظه بومی ادغام کرده‌ایم.

تخصیص حافظه در Memory Profiler نمایش داده می شود

Memory Profiler گزینه های زیر را ارائه می دهد:

  • ضبط heap dump : اشیایی را در برنامه خود مشاهده کنید که در یک نقطه زمانی خاص از حافظه استفاده می کنند.
  • ثبت تخصیص های بومی : نحوه تخصیص هر شیء C/C++ در یک دوره زمانی مشخص را مشاهده کنید.
  • ضبط تخصیص جاوا/کوتلین : نحوه تخصیص هر شی جاوا/کاتلین در یک دوره زمانی مشخص را مشاهده کنید.

در اینجا نحوه استفاده از این سه گزینه آورده شده است:

  • برای گرفتن عکس پشته، Capture heap dump و سپس Record را انتخاب کنید. پس از اینکه پروفیل‌گر ضبط پشته را تمام کرد، رابط کاربری Memory Profiler به صفحه جداگانه‌ای منتقل می‌شود که حفره پشته را نشان می‌دهد.

    نمونه تخلیه پشته در Memory Profiler

  • برای ضبط تخصیص‌های بومی در دستگاه‌های دارای Android 10 و بالاتر، ضبط تخصیص‌های بومی و سپس ضبط را انتخاب کنید. ضبط تا زمانی که روی Stop کلیک کنید ادامه می یابد ، پس از آن رابط کاربری Memory Profiler به یک صفحه جداگانه انتقال می یابد که ضبط بومی را نمایش می دهد.

    در اندروید 9 و پایین تر، گزینه Record native allocations در دسترس نیست.

  • برای ضبط تخصیص جاوا و کاتلین، Record Java/Kotlin allocations را انتخاب کنید، سپس Record را انتخاب کنید. اگر دستگاه دارای Android 8 یا بالاتر باشد، رابط کاربری Memory Profiler به صفحه‌ای جداگانه منتقل می‌شود که ضبط در حال انجام را نشان می‌دهد. می توانید با جدول زمانی کوچک بالای ضبط تعامل داشته باشید (مثلاً برای تغییر محدوده انتخاب). برای تکمیل ضبط، Stop را انتخاب کنید .

    تجسم تخصیص جاوا در Memory Profiler

    در اندروید 7.1 و پایین‌تر، نمایه‌ساز حافظه از ضبط تخصیص قدیمی استفاده می‌کند که تا زمانی که روی توقف کلیک کنید، ضبط را در خط زمانی نمایش می‌دهد.

به‌روزرسانی‌هایی برای Refresh Linked C++ Project

ما فایل‌های غیرمرتبط با پیکربندی را از پوشه .cxx/ به پوشه build/ منتقل کرده‌ایم. ساخت‌های CMake C++ به یک مرحله پیکربندی نیاز دارند که پروژه Ninja را ایجاد می‌کند که برای اجرای مراحل کامپایل و پیوند استفاده می‌شود. پروژه هایی که توسط CMake تولید می شوند پرهزینه هستند و انتظار می رود که در تمام سطوح تمیز باقی بمانند. به همین دلیل، آنها در پوشه ای به نام .cxx/ در کنار پوشه build/ ذخیره می شوند. به طور معمول، پلاگین Android Gradle متوجه تغییرات پیکربندی می شود و به طور خودکار پروژه Ninja را بازسازی می کند. با این حال، همه موارد را نمی توان تشخیص داد. هنگامی که این اتفاق می افتد، گزینه "Refresh Linked C++ Project" را می توان برای بازسازی دستی پروژه Ninja استفاده کرد.

ماتریس تست جدید برای تست چند دستگاه

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

پنل تست ابزار دقیق

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

برای استفاده از این ویژگی:

  1. در منوی کشویی دستگاه مورد نظر از مرکز بالای IDE، گزینه Select Multiple Devices را انتخاب کنید.

    گفتگوی مجموعه دستگاه را اصلاح کنید

  2. دستگاه های مورد نظر را انتخاب کنید و روی OK کلیک کنید.

    گفتگوی مجموعه دستگاه را اصلاح کنید

  3. تست های خود را اجرا کنید

برای مشاهده نتایج تست خود در پنل Run ، به View > Tool Windows > Run بروید.

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

پشتیبانی StateFlow در اتصال داده ها

برای برنامه‌های Kotlin که از کوروتین‌ها استفاده می‌کنند، اکنون می‌توانید از اشیاء StateFlow به‌عنوان منبع اتصال داده استفاده کنید تا به‌طور خودکار تغییرات در داده‌ها را به UI اطلاع دهد. پیوندهای داده‌های شما از چرخه حیات آگاه می‌شوند و تنها زمانی فعال می‌شوند که رابط کاربری روی صفحه قابل مشاهده باشد.

برای استفاده از یک شی StateFlow با کلاس binding خود، باید یک مالک چرخه حیات را مشخص کنید تا محدوده شی StateFlow را تعریف کند، و در طرح بندی خود، همانطور که نشان داده شده است، خواص و متدهای مؤلفه ViewModel خود را با استفاده از عبارات binding به نماهای مربوطه اختصاص دهید. در مثال زیر:

class ViewModel() {
   val username: StateFlow<String>
}
<TextView
    android:id="@+id/name"
    android:text="@{viewmodel.username}" />

اگر در یک برنامه Kotlin هستید که از AndroidX استفاده می کند، پشتیبانی StateFlow به طور خودکار در عملکرد اتصال داده ها، از جمله وابستگی های کوروتین، گنجانده می شود.

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

واردات پیشنهادی بهبود یافته است

ما تعداد کتابخانه‌هایی را که توسط ویژگی واردات پیشنهادی پشتیبانی می‌شوند، بهبود بخشیده‌ایم و فهرست را بیشتر به‌روزرسانی می‌کنیم. وارد کردن پیشنهادی به شما کمک می کند تا به سرعت و به راحتی برخی از مصنوعات Google Maven را هم در کلاس خود و هم در پروژه Gradle وارد کنید. هنگامی که Android Studio نمادهای حل نشده را از کتابخانه های خاص Google شناسایی می کند، IDE پیشنهاد می کند کتابخانه را هم به کلاس و هم در پروژه وارد کنید.

پشتیبانی از کش پیکربندی در Build Analyzer

اکنون Build Analyzer زمانی را شناسایی می‌کند که یک پروژه حافظه پنهان پیکربندی را فعال نکرده باشد و آن را به عنوان بهینه‌سازی ارائه می‌دهد. Build Analyzer یک ارزیابی سازگاری را اجرا می کند تا قبل از فعال شدن، در صورت وجود هرگونه مشکل در حافظه پنهان پیکربندی در پروژه شما به شما اطلاع دهد.

اطلاعات کش پیکربندی در Build Analyzer

پشتیبانی از ابزار Jetpack Compose

اکنون ما برای پیش‌نمایش و آزمایش برنامه‌هایی که از Jetpack Compose استفاده می‌کنند، پشتیبانی بیشتری ارائه می‌کنیم. برای بهترین تجربه توسعه با Jetpack Compose، باید از آخرین نسخه Android Studio Arctic Fox استفاده کنید تا بتوانید از ویژگی‌های ویرایشگر هوشمند مانند قالب‌های پروژه جدید و امکان پیش‌نمایش فوری رابط کاربری Compose خود بهره ببرید.

پیش نمایش نوشتن

پارامترهای زیر برای متدهای @Preview اکنون در دسترس هستند:

  • showBackground : یک پس زمینه را برای پیش نمایش خود روشن و خاموش کنید.
  • backgroundColor : رنگی را تنظیم کنید که فقط در سطح پیش نمایش استفاده شود.
  • uiMode : این پارامتر جدید می‌تواند هر یک از ثابت‌های Configuration.UI_* را بگیرد و به شما امکان می‌دهد رفتار پیش‌نمایش را تغییر دهید، مثلاً آن را روی حالت شب تنظیم کنید تا ببینید موضوع چگونه واکنش نشان می‌دهد.

نوشتن رابط کاربری پیش نمایش

پیش نمایش تعاملی

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

برای توقف، روی Stop Interactive Preview در نوار ابزار بالا کلیک کنید.

رابط کاربری پیش نمایش تعاملی

به دستگاه مستقر شود

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

روی نماد Deploy to Device کلیک کنید در کنار حاشیه‌نویسی @Preview یا در بالای پیش‌نمایش، و Android Studio آن @Preview را در دستگاه یا شبیه‌ساز متصل شما مستقر می‌کند.

ویرایش زنده از literals

ما ویرایش Live Literals را اضافه کرده‌ایم تا به توسعه‌دهندگانی که از Compose استفاده می‌کنند کمک کنیم تا به سرعت کلمات (رشته‌ها، اعداد، Booleans) را در کد خود ویرایش کنند و نتایج را بلافاصله بدون نیاز به منتظر ماندن برای کامپایل ببینند. هدف این ویژگی کمک به افزایش بهره وری شما با ظاهر شدن تغییرات کد به صورت آنی در پیش نمایش، شبیه ساز یا دستگاه فیزیکی است.

ویرایش شماره و رشته به‌روزرسانی بلافاصله در پیش‌نمایش و در دستگاه

پشتیبانی را در Layout Inspector بنویسید

Layout Inspector به شما این امکان را می دهد که جزئیات کاملی در مورد طرح بندی برنامه خود که در دستگاه متصل شما اجرا می شود را مشاهده کنید. می‌توانید با برنامه‌تان تعامل داشته باشید و به‌روزرسانی‌های زنده را در ابزار ببینید تا به سرعت مشکلاتی را که ممکن است پیش بیاید، اشکال‌زدایی کنید.

می‌توانید طرح‌بندی‌های نوشته شده با چارچوب جدید رابط کاربری اعلامی Android، Jetpack Compose را بررسی کنید. چه برنامه شما از طرح‌بندی‌هایی استفاده کند که به طور کامل در Compose نوشته شده‌اند یا از طرح‌بندی‌هایی که ترکیبی از Compose و Views استفاده می‌کنند، Layout Inspector به شما کمک می‌کند بفهمید که طرح‌بندی‌هایتان چگونه در دستگاه در حال اجرا شما ارائه می‌شوند.

شروع کنید

برای شروع، برنامه خود را در یک دستگاه متصل اجرا کنید و سپس با انتخاب View > Tool Windows > Layout Inspector، پنجره Layout Inspector را باز کنید. اگر Layout Inspector به طور خودکار به فرآیند برنامه شما متصل نمی شود، فرآیند برنامه مورد نظر را از منوی کشویی فرآیند انتخاب کنید. به زودی باید طرح‌بندی برنامه خود را در پنجره ابزار رندر کنید. برای شروع بررسی طرح‌بندی Compose خود، مؤلفه طرح‌بندی قابل مشاهده در رندر را انتخاب کنید یا آن را از درخت مؤلفه انتخاب کنید.

رابط کاربری بازرس چیدمان

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

Layout Inspector همه توابع Compose را در پشته تماس که اجزایی را به طرح‌بندی برنامه شما منتشر می‌کنند، نشان می‌دهد. در بسیاری از موارد، این شامل توابع Compose است که به صورت داخلی توسط Compose Library فراخوانی می شوند. اگر می‌خواهید فقط توابع Compose را در Component Tree ببینید که برنامه شما مستقیماً آن‌ها را فراخوانی می‌کند، روی فیلتر کلیک کنید. اقدام، که ممکن است به کاهش تعداد گره های نشان داده شده در درخت به گره هایی که احتمالاً می خواهید بازرسی کنید کمک کند.

کشویی استقرار بهبود یافته

اکنون منوی کرکره ای دستگاه بین انواع مختلف خطاها در پیکربندی دستگاه انتخابی شما تمایز قائل می شود. نماد نگاری و تغییرات سبکی اکنون بین خطاها (انتخاب دستگاه که منجر به پیکربندی خراب می شود) و هشدارها (انتخاب دستگاهی که ممکن است منجر به رفتار غیرمنتظره شود اما هنوز قابل اجرا هستند) تفاوت قائل می شود.

علاوه بر این، Android Studio اکنون به شما هشدار می دهد اگر بخواهید پروژه خود را روی دستگاهی راه اندازی کنید که دارای خطا یا اخطاری مرتبط با آن باشد.

دستیار جفت‌سازی جدید Wear OS

دستیار جدید جفت شدن Wear OS توسعه دهندگان را گام به گام از طریق جفت کردن شبیه سازهای Wear OS با تلفن های فیزیکی یا مجازی مستقیماً در Android Studio راهنمایی می کند. دستیار می تواند به شما کمک کند تا برنامه Wear OS Companion مناسب را روی تلفن خود نصب کرده و بین دو دستگاه ارتباط برقرار کنید. می‌توانید با رفتن به منوی کشویی دستگاه > Wear OS Emulator Pairing Assistant شروع کنید.

نسخه ی نمایشی دستیار جفت شدن Wear OS

قالب طرح‌بندی واکنش‌گرا

Android Studio Arctic Fox اکنون یک قالب طرح بندی جدید را ارائه می کند که با ابعاد مختلف نمایشگر و تغییر اندازه برنامه ها مانند تلفن ها، تاشوها، تبلت ها و حالت های تقسیم صفحه سازگار می شود. هنگام ایجاد یک پروژه یا ماژول جدید، الگوی Responsive Activity را انتخاب کنید تا یک طرح بندی با اجزایی ایجاد کنید که به صورت پویا تغییر اندازه می دهند.

قالب طرح بندی پاسخگو در صفحه کوچکقالب طرح بندی پاسخگو در وسط صفحهقالب طرح بندی پاسخگو در صفحه بزرگ

برای شروع، به مسیر File > New بروید، پروژه New Project یا New Module را انتخاب کنید و الگوی Responsive Activity را انتخاب کنید.

قالب طرح بندی پاسخگو در ویزارد پروژه جدید

اسکنر دسترس‌پذیری برای ویرایشگر طرح‌بندی

ما چارچوب تست دسترس‌پذیری Android را در Android Studio ادغام کرده‌ایم تا به شما کمک کنیم مشکلات دسترسی را در طرح‌بندی‌های خود پیدا کنید. این ابزار مشکلات مربوط به دسترس‌پذیری را گزارش می‌کند و راه‌حل‌های پیشنهادی را برای برخی از مشکلات رایج (به عنوان مثال از دست دادن توضیحات محتوا یا کنتراست کم) ارائه می‌کند. برای راه اندازی پنل، روی دکمه گزارش خطا کلیک کنید در ویرایشگر Layout.

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

پشتیبانی از سیلیکون اپل

Android Studio و Android Emulator در حال حاضر دارای پشتیبانی اولیه از گردش‌های کاری توسعه‌دهنده اصلی هنگام اجرای معماری سخت‌افزار Apple silicon (arm64)، از جمله تصاویر سیستم شبیه‌ساز مربوطه هستند.

پشتیبانی هنوز برای همه ابزارهای خط فرمان SDK و NDK در دسترس نیست. برای اجرای برخی ابزارها ممکن است مجبور شوید روزتا 2 را روی دستگاه خود اجرا کنید.

پشتیبانی از سیلیکون اپل

مسائل شناخته شده برای Arctic Fox

این بخش مشکلات شناخته شده فعلی در Android Studio Arctic Fox را شرح می دهد.

پچ ها در ویندوز نسخه 3.6-4.1 کار نمی کنند

وصله‌ها در پلتفرم ویندوز برای نسخه 3.6-و4.1 به اندروید استودیو Arctic Fox stable ممکن است کار نکنند.

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

موارد زیر نسخه‌های وصله‌ای در Android Studio Arctic Fox هستند.

اندروید استودیو Arctic Fox | پچ 4 2020.3.1 (دسامبر 2021)

این به روز رسانی جزئی شامل رفع اشکال زیر است:

  • افزونه Gradle اندروید
    • تنظیم یک Provider برای VariantOutput.version می تواند با کش پیکربندی خراب شود
    • gradeResValues.xml در هنگام امضا برای انتشار به روز نشد
  • D8/R8
    • java.lang.ClassCastException در سازنده کلاس در ساخت کمینه شده توسط R8 پرتاب شد
    • تنظیم نوع غیرقابل دسترس در طول ادغام dex
    • java.lang.VerifyError : تأیید کننده تأیید نشد زیرا فیلد نمونه از شی از نوع Reference.java.lang.Object قابل دسترسی نیست
  • لینت
    • بررسی لینت MediaCapabilities غیرفعال کنید
    • وقتی shrinkResources فعال است، Lint خطای مثبت کاذب [Instantiable] را گزارش می‌کند
  • قالب ها
    • ماژول واردات گزینه خاکستری شد

برای اطلاعات بیشتر، به پست وبلاگ 2020.3.1 Patch 4 مراجعه کنید.

اندروید استودیو Arctic Fox | پچ 3 2020.3.1 (اکتبر 2021)

این به روز رسانی جزئی شامل رفع اشکال زیر است:

  • افزونه Gradle اندروید
    • پلاگین مستقل lint وابستگی gradleApi() به درستی مدیریت نمی کند
    • در حالی که ساخت Gradle خارج از استودیو اجرا می شود، ساخت JPS فعال می شود
    • فعال کردن KSP و Kapt در پروژه‌ای که هر دو حاوی پردازنده‌هایی هستند که منابع تولید می‌کنند، BundleLibraryClassesInputs را می‌شکند.
  • ویرایشگر C++
    • UI به دلیل محاسبات طولانی JniReferencesSearch در پس‌زمینه مسدود می‌شود
  • بازرس پایگاه داده
    • اجازه ذخیره DBها
    • صادر کردن داده‌ها با استفاده از بازرسی برنامه/بازرس پایگاه داده با فضای خالی در مسیر امکان‌پذیر نیست
  • دکسر (D8)
    • لامبداهای جاوا باعث رفتار غیرمنتظره ای در هنگام طبقه بندی زیر کلاس ها می شوند
  • کوچک کننده (R8)
    • Cannot constrain type
    • مشکل هنگام اجرای R8 3.0.69 (از AGP 7.0.2) و 3.0.72

برای اطلاعات بیشتر، پست وبلاگ 2020.3.1 Patch 3 را ببینید.

اندروید استودیو Arctic Fox | پچ 2 2020.3.1 (سپتامبر 2021)

این به روز رسانی جزئی شامل رفع اشکال زیر است:

  • افزونه Gradle اندروید
    • همگام سازی Gradle با ارتقاء از AS Arctic Fox Canary 7 به Canary 8 10 بار راه اندازی شد.
    • سازه های قند زدایی و تکرارپذیر
  • ساخت C++
    • اگر از tasks.whenTaskAdded closure استفاده می شود، افزونه Gradle Android نسخه 7.0.0 jniLibs را در APK شامل نمی شود.
  • در حال ویرایش
    • MergedManifestRefreshListener در یک حلقه بی نهایت در Arctic Fox گیر می کند
  • لینت
    • "Lint check for lint checks" اجرا نمی شود
  • کوچک کننده (R8)
    • ClassNotFoundException هنگام اجرای بیلد با R8 در AGP7

برای اطلاعات بیشتر، به پست وبلاگ 2020.3.1 Patch 2 مراجعه کنید.

اندروید استودیو Arctic Fox | پچ 1 2020.3.1 (اوت 2021)

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

  • افزونه Gradle اندروید
    • TypedefRemover از ASM5 استفاده می کند و با منابع JDK 11 که به ASM7 نیاز دارند ناسازگار است.
    • برخی از بلوک های DSL جدید را نمی توان از Groovy DSL در AGP 7.0.0 استفاده کرد
    • پایدار AGP 7.0.0 ExternalApiUsageException را در libraryVariants.all{applicationId} می‌اندازد
  • دیباگر C++
    • خطای AS Arctic Fox هنگام شروع جلسه اشکال زدایی بومی در Mac M1، "پیکربندی شکسته LLDB پیدا شد"
  • مدیر منابع
    • (ویندوز) New > Vector Asset > picture.svg: نویسه «منهای» نامعتبر در ایجاد شده xml
  • کوچک کننده (R8)
    • NPE در BridgeHoisting
    • پس از ارتقاء به 7.0.0، R8 با خطای "Unexpected usage left in method after inline" خراب می شود.

برای اطلاعات بیشتر، به پست وبلاگ 2020.3.1 Patch 1 مراجعه کنید.