اندروید استودیو ۳.۰ (اکتبر ۲۰۱۷)
اندروید استودیو ۳.۰.۰ یک نسخه اصلی است که شامل مجموعهای از ویژگیها و بهبودهای جدید میشود.
کاربران macOS: اگر در حال بهروزرسانی نسخه قدیمیتر اندروید استودیو هستید، ممکن است با یک پنجره خطای بهروزرسانی مواجه شوید که میگوید: «برخی تداخلها در ناحیه نصب یافت شد». به سادگی این خطا را نادیده بگیرید و برای از سرگیری نصب، روی لغو کلیک کنید.
۳.۰.۱ (نوامبر ۲۰۱۷)
این یک بهروزرسانی جزئی برای اندروید استودیو ۳.۰ است که شامل رفع اشکالات کلی و بهبود عملکرد میشود.
افزونه اندروید برای Gradle 3.0.0
افزونه جدید اندروید برای Gradle شامل بهبودها و ویژگیهای جدید متنوعی است، اما در درجه اول عملکرد ساخت را برای پروژههایی که تعداد زیادی ماژول دارند بهبود میبخشد. هنگام استفاده از افزونه جدید با این پروژههای بزرگ، باید موارد زیر را تجربه کنید:
- زمان پیکربندی ساخت سریعتر به دلیل حل وابستگی با تأخیر جدید.
- تفکیک وابستگی با در نظر گرفتن متغیرها، فقط برای پروژهها و متغیرهایی که در حال ساخت آنها هستید.
- زمانهای ساخت تدریجی سریعتر هنگام اعمال تغییرات ساده در کد یا منابع.
توجه: این بهبودها نیاز به تغییرات قابل توجهی داشتند که برخی از رفتارهای افزونه، DSL و APIها را مختل میکرد. ارتقا به نسخه ۳.۰.۰ ممکن است نیاز به تغییراتی در فایلهای ساخت و افزونههای Gradle شما داشته باشد.
این نسخه همچنین شامل موارد زیر است:
- پشتیبانی از اندروید ۸.۰
- پشتیبانی از ساخت APK های جداگانه بر اساس منابع زبانی.
- پشتیبانی از کتابخانههای جاوا ۸ و ویژگیهای زبان جاوا ۸ (بدون کامپایلر جک).
- پشتیبانی از کتابخانه پشتیبانی تست اندروید ۱.۰ (ابزار تست اندروید و هماهنگکننده تست اندروید ).
- سرعت ساخت ndk-build و cmake بهبود یافته است.
- سرعت همگامسازی Gradle بهبود یافته است.
- AAPT2 اکنون به طور پیشفرض فعال است.
- استفاده از
ndkCompileاکنون محدودتر شده است. در عوض، باید برای کامپایل کد بومی که میخواهید در APK خود بستهبندی کنید، به استفاده از CMake یا ndk-build مهاجرت کنید. برای کسب اطلاعات بیشتر، Migrate from ndkcompile را مطالعه کنید.
برای اطلاعات بیشتر در مورد تغییرات، به یادداشتهای انتشار افزونه اندروید برای Gradle مراجعه کنید.
اگر آمادهی ارتقا به افزونهی جدید هستید، به «افزونهی مهاجرت به اندروید برای Gradle 3.0.0» مراجعه کنید.
پشتیبانی کاتلین
همانطور که در کنفرانس Google I/O 2017 اعلام شد ، زبان برنامهنویسی کاتلین اکنون رسماً در اندروید پشتیبانی میشود. بنابراین با این نسخه، اندروید استودیو پشتیبانی از زبان کاتلین را برای توسعه اندروید شامل میشود.
شما میتوانید با تبدیل یک فایل جاوا به کاتلین (روی Code > Convert Java File to Kotlin File کلیک کنید) یا با ایجاد یک پروژه جدید با قابلیت کاتلین با استفاده از ویزارد New Project، کاتلین را در پروژه خود بگنجانید.
برای شروع، نحوه اضافه کردن کاتلین به پروژه خود را بخوانید.

پشتیبانی از ویژگیهای زبان جاوا ۸
اکنون میتوانید از برخی ویژگیهای زبان جاوا ۸ استفاده کنید و از کتابخانههای ساخته شده با جاوا ۸ استفاده کنید . جک دیگر مورد نیاز نیست و ابتدا باید جک را غیرفعال کنید تا از پشتیبانی بهبود یافته جاوا ۸ که در مجموعه ابزار پیشفرض تعبیه شده است، استفاده کنید.
برای بهروزرسانی پروژه خود جهت پشتیبانی از ابزار جدید زبان جاوا ۸، در پنجره ساختار پروژه (روی فایل > ساختار پروژه کلیک کنید) گزینههای سازگاری منبع (Source Compatibility ) و سازگاری هدف (Target Compatibility) را به ۱.۸ بهروزرسانی کنید. برای کسب اطلاعات بیشتر، نحوه استفاده از ویژگیهای زبان جاوا ۸ را مطالعه کنید.

پروفایلر اندروید
ابزار جدید Android Profiler جایگزین ابزار Android Monitor شده و مجموعهای جدید از ابزارها را برای اندازهگیری میزان مصرف CPU، حافظه و شبکه برنامه شما به صورت بلادرنگ ارائه میدهد. میتوانید ردیابی روش مبتنی بر نمونه را برای زمانبندی اجرای کد، ثبت دادههای هیپ، مشاهده تخصیص حافظه و بررسی جزئیات فایلهای منتقل شده از شبکه انجام دهید.
برای باز کردن، روی View > Tool Windows > Android Profiler کلیک کنید (یا در نوار ابزار روی Android Profiler کلیک کنید).
جدول زمانی رویداد در بالای پنجره، رویدادهای لمسی، فشردن کلیدها و تغییرات فعالیت را نشان میدهد، بنابراین شما زمینه بیشتری برای درک سایر رویدادهای عملکردی در جدول زمانی دارید.
توجه: نمای Logcat نیز به یک پنجره جداگانه منتقل شد (قبلاً در داخل Android Monitor بود که حذف شد).

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

پروفایل حافظه
ابزار پروفایل حافظه به شما کمک میکند تا نشت حافظه و اختلال حافظه را که میتواند منجر به وقفه، هنگ کردن و حتی از کار افتادن برنامه شود، شناسایی کنید. این ابزار یک نمودار بلادرنگ از میزان استفاده از حافظه برنامه شما نشان میدهد، به شما امکان میدهد تا یک هیپ دامپ (heap dump) را ثبت کنید، جمعآوری زباله (garbage collection) را اجباری کنید و تخصیص حافظه را پیگیری کنید.
برای اطلاعات بیشتر، به راهنمای Memory Profiler مراجعه کنید.

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

پروفایلینگ و اشکالزدایی APK
اندروید استودیو اکنون به شما امکان میدهد بدون نیاز به ساخت هر APK از یک پروژه اندروید استودیو، آن را پروفایلبندی و اشکالزدایی کنید - البته تا زمانی که APK طوری ساخته شده باشد که امکان اشکالزدایی را فراهم کند و شما به نمادهای اشکالزدایی و فایلهای منبع دسترسی داشته باشید.
برای شروع، از صفحه خوشآمدگویی اندروید استودیو روی Profile یا debug APK کلیک کنید. یا اگر از قبل پروژهای باز دارید، از نوار منو روی File > Profile یا debug APK کلیک کنید. این کار فایلهای APK باز نشده را نمایش میدهد، اما کد را decompile نمیکند. بنابراین، برای اضافه کردن صحیح نقاط توقف و مشاهده ردپاهای پشته، باید فایلهای منبع جاوا و نمادهای اشکالزدایی بومی را پیوست کنید.
برای اطلاعات بیشتر، به پروفایل و اشکالزدایی APKهای از پیش ساخته شده مراجعه کنید.

فایل اکسپلورر دستگاه
ابزار جدید Device File Explorer به شما امکان میدهد سیستم فایل دستگاه متصل خود را بررسی کرده و فایلها را بین دستگاه و رایانه خود منتقل کنید. این ابزار جایگزین ابزار سیستم فایل موجود در DDMS شده است.
برای باز کردن، روی View > Tool Windows > Device File Explorer کلیک کنید.
برای اطلاعات بیشتر، به راهنمای Device File Explorer مراجعه کنید.

پشتیبانی از برنامههای فوری
پشتیبانی جدید برای برنامههای فوری اندروید به شما امکان میدهد برنامههای فوری را در پروژه خود با استفاده از دو نوع ماژول جدید ایجاد کنید: ماژولهای برنامه فوری و ماژولهای ویژه (این ماژولها نیاز به نصب SDK توسعه برنامههای فوری دارند).

اندروید استودیو همچنین شامل یک عمل بازسازی ماژولار جدید است که به شما کمک میکند تا پشتیبانی از Instant Apps را در یک پروژه موجود اضافه کنید. به عنوان مثال، اگر میخواهید پروژه خود را برای قرار دادن برخی از کلاسها در یک ماژول ویژگی Instant App بازسازی کنید، کلاسها را در پنجره پروژه انتخاب کرده و روی Refactor > Modularize کلیک کنید. در کادر محاورهای که ظاهر میشود، ماژولی را که کلاسها باید در آن قرار گیرند انتخاب کرده و روی OK کلیک کنید.
و وقتی آماده آزمایش برنامه فوری خود شدید، میتوانید ماژول برنامه فوری خود را با مشخص کردن URL برنامه فوری در گزینههای راهاندازی پیکربندی اجرا ، روی یک دستگاه متصل بسازید و اجرا کنید: Run > Edit Configurations را انتخاب کنید، ماژول برنامه فوری خود را انتخاب کنید و سپس URL را در قسمت Launch Options تنظیم کنید.
برای اطلاعات بیشتر، به «برنامههای فوری اندروید» مراجعه کنید.
ماژولهای اندروید تینگز
قالبهای جدید Android Things در ویزاردهای New Project و New Module برای کمک به شما در شروع توسعه برای دستگاههای IOT مبتنی بر اندروید.
برای اطلاعات بیشتر، به نحوه ایجاد یک پروژه Android Things مراجعه کنید.
جادوگر آیکونهای تطبیقی
Image Asset Studio اکنون از vector drawables پشتیبانی میکند و به شما امکان میدهد آیکونهای لانچر تطبیقی برای اندروید ۸.۰ ایجاد کنید و همزمان آیکونهای سنتی (آیکونهای "Legacy") را برای دستگاههای قدیمیتر ایجاد کنید.
برای شروع، روی پوشه res در پروژه خود کلیک راست کرده و سپس روی New > Image Asset کلیک کنید. در پنجره Asset Studio ، Launcher Icons (Adaptive and Legacy) را به عنوان نوع آیکون انتخاب کنید.
نکته: برای استفاده از آیکونهای لانچر تطبیقی، باید compileSdkVersion روی ۲۶ یا بالاتر تنظیم کنید.
برای اطلاعات بیشتر، درباره آیکونهای تطبیقی مطالعه کنید.

پشتیبانی از منابع فونت
برای پشتیبانی از منابع فونت جدید در اندروید ۸.۰، اندروید استودیو یک انتخابگر منابع فونت را در نظر گرفته است تا به شما در دستهبندی فونتها در برنامهتان یا پیکربندی پروژهتان برای دانلود فونتها روی دستگاه (در صورت وجود) کمک کند. ویرایشگر طرحبندی همچنین میتواند فونتها را در طرحبندی شما پیشنمایش کند .
برای امتحان کردن فونتهای قابل دانلود، مطمئن شوید که دستگاه یا شبیهساز شما Google Play Services نسخه ۱۱.۲.۶۳ یا بالاتر را اجرا میکند. برای اطلاعات بیشتر، درباره فونتهای قابل دانلود مطالعه کنید.

دستیار نمایهسازی برنامه فایربیس
دستیار فایربیس با یک آموزش جدید برای آزمایش ایندکسگذاری برنامه بهروزرسانی شده است. برای باز کردن دستیار، ابزارها > فایربیس را انتخاب کنید. سپس App Indexing > Test App Indexing را انتخاب کنید.
این آموزش شامل دکمههای جدیدی برای آزمایش ایندکسگذاری محتوای عمومی و شخصی شما است:
- در مرحله ۲، روی پیشنمایش نتایج جستجو کلیک کنید تا تأیید کنید که URL های شما در نتایج جستجوی گوگل نمایش داده میشوند.
- در مرحله ۳، روی بررسی خطاها کلیک کنید تا تأیید کنید که اشیاء قابل فهرستبندی در برنامه شما به فهرست محتوای شخصی اضافه شدهاند.
دستیار لینکهای اپلیکیشن اندروید
دستیار پیوندهای برنامه با قابلیتهای جدید زیر بهروزرسانی شده است:
برای هر نگاشت URL، تستهای URL اضافه کنید تا مطمئن شوید فیلترهای intent شما URLهای دنیای واقعی را مدیریت میکنند.
همچنین میتوانید این تستهای URL را به صورت دستی و با استفاده از تگ
<tools:validation>که در ادامه توضیح داده شده است، تعریف کنید.یک فایل Digital Asset Links با ورودی شیء مناسب برای پشتیبانی از Google Smart Lock ایجاد کنید و تگ
<meta-data>مربوط بهasset_statementsرا به فایل مانیفست خود اضافه کنید.

اعتبارسنج فیلتر هدف URL
اندروید استودیو اکنون از یک تگ ویژه در فایل مانیفست پشتیبانی میکند که به شما امکان میدهد URLهای فیلتر اینتنت خود را آزمایش کنید . اینها همان تگهایی هستند که App Links Assistant میتواند برای شما ایجاد کند .
برای اعلام یک URL آزمایشی برای یک فیلتر intent، یک عنصر <tools:validation> را در کنار عنصر <intent-filter> مربوطه اضافه کنید. برای مثال:
<activity ...>
<intent-filter>
...
</intent-filter>
<tools:validation testUrl="https://www.example.com/recipe/1138" />
</activity>
حتماً xmlns:tools="http://schemas.android.com/tools" نیز در تگ <manifest> قرار دهید.
اگر هر یک از URL های آزمایشی از تعریف فیلتر intent عبور نکنند، یک خطای lint ظاهر میشود. چنین خطایی هنوز به شما امکان میدهد انواع اشکالزدایی را بسازید، اما باعث خرابی نسخههای آزمایشی شما خواهد شد.

ویرایشگر طرحبندی
ویرایشگر طرحبندی با تعدادی پیشرفت، از جمله موارد زیر، بهروزرسانی شده است:
- طرحبندی و آیکونهای جدید نوار ابزار.
- طرحبندی در درخت کامپوننت بهروزرسانی شد.
- درجهای نمای کشیدن و رها کردن بهبود یافته است.
- پنل خطای جدید در زیر ویرایشگر، که تمام مشکلات را به همراه پیشنهادهایی برای رفع آنها (در صورت وجود) نشان میدهد.
- بهبودهای مختلف رابط کاربری برای ساخت با
ConstraintLayout، از جمله موارد زیر:- پشتیبانی جدید برای ایجاد موانع .
- پشتیبانی جدید برای ایجاد گروهها: در نوار ابزار، Guidelines > Add Group را انتخاب کنید (نیازمند ConstraintLayout 1.1.0 beta 2 یا بالاتر است)
- رابط کاربری جدید برای ایجاد زنجیرهها: چندین نما را انتخاب کنید، سپس کلیک راست کرده و Chain را انتخاب کنید.

بازرس طرحبندی
Layout Inspector شامل بهبودهایی است که اشکالزدایی مشکلات مربوط به طرحبندی برنامه شما را آسانتر میکند، از جمله گروهبندی ویژگیها در دستههای رایج و قابلیت جستجوی جدید در هر دو بخش View Tree و Properties .

تحلیلگر APK
اکنون میتوانید از ابزار apkanalyzer در خط فرمان برای آنالیز APK استفاده کنید.
تحلیلگر APK نیز با پیشرفتهای زیر بهروزرسانی شده است:
- برای فایلهای APK ساخته شده با ProGuard، میتوانید فایلهای نگاشت ProGuard را بارگذاری کنید که قابلیتهایی را به نمایشگر DEX اضافه میکند، از جمله:
- گرههای پررنگ برای نشان دادن اینکه گرهها نباید هنگام کوچک کردن کد حذف شوند.
- دکمهای برای نمایش گرههایی که در طول فرآیند کوچکسازی حذف شدهاند.
- دکمهای که نام اصلی گرهها را در نمای درختی که توسط ProGuard مبهمسازی شده بودند، بازیابی میکند.
- نمایشگر DEX اکنون تأثیر حجم تخمینی هر بسته، کلاس و متد را نشان میدهد.
- گزینههای فیلتر جدید در بالا برای نمایش و پنهان کردن فیلدها و متدها.
- در نمای درختی، گرههایی که ارجاعهایی هستند که در فایل DEX تعریف نشدهاند، به صورت مورب (italic) نمایش داده میشوند.
برای اطلاعات بیشتر، به «تحلیل ساخت خود با APK Analyzer» مراجعه کنید.
پیشنمایش کامپایلر D8 DEX
اندروید استودیو ۳.۰ شامل یک کامپایلر DEX جدید به نام D8 است که به صورت اختیاری ارائه میشود. این کامپایلر در نهایت جایگزین کامپایلر DX خواهد شد، اما اکنون میتوانید از کامپایلر جدید D8 استفاده کنید.
کامپایل DEX مستقیماً بر زمان ساخت برنامه، اندازه فایل .dex و عملکرد زمان اجرا تأثیر میگذارد. و هنگام مقایسه کامپایلر جدید D8 با کامپایلر DX فعلی، D8 سریعتر کامپایل میشود و فایلهای .dex کوچکتری را خروجی میدهد، در حالی که عملکرد زمان اجرای برنامه مشابه یا بهتری دارد.
برای امتحان کردن آن، موارد زیر را در فایل gradle.properties پروژه خود تنظیم کنید:
android.enableD8=true
برای اطلاعات بیشتر، به پست وبلاگ در مورد کامپایلر D8 مراجعه کنید.
مخزن Maven گوگل
اندروید استودیو اکنون به طور پیشفرض از مخزن Maven گوگل استفاده میکند، به جای اینکه برای دریافت بهروزرسانیهای کتابخانه پشتیبانی اندروید، سرویسهای گوگل پلی، فایربیس و سایر وابستگیها به Android SDK Manager وابسته باشد. این امر بهروزرسانی کتابخانههای شما را آسانتر میکند، به خصوص هنگام استفاده از یک سیستم یکپارچهسازی مداوم (CI).
اکنون همه پروژههای جدید به طور پیشفرض شامل مخزن Google Maven هستند. برای بهروزرسانی پروژه موجود خود، google() را در بلوک repositories فایل build.gradle سطح بالا اضافه کنید:
allprojects {
repositories {
google()
}
}
برای کسب اطلاعات بیشتر در مورد مخزن Maven گوگل، اینجا را ببینید.
تغییرات دیگر
- اشکالزدایی بومی با اندروید استودیو دیگر از ویندوز ۳۲ بیتی پشتیبانی نمیکند. ما تصمیم گرفتیم روی پلتفرمهای دیگر تمرکز کنیم زیرا توسعهدهندگان بسیار کمی از این پلتفرم استفاده میکنند. اگر از ویندوز ۳۲ بیتی استفاده میکنید و قصد دارید کد بومی را اشکالزدایی کنید، باید به استفاده از اندروید استودیو ۲.۳ ادامه دهید.
- IDE پایه را به IntelliJ 2017.1.2 ارتقا دادیم، که تعدادی ویژگی جدید از نسخههای ۲۰۱۶.۳ و ۲۰۱۷.۱ اضافه کرده است، مانند بازسازی زبان جاوا ۸، نکات پارامتر، برجستهسازی معنایی، نقاط توقف قابل کشیدن، نتایج فوری در جستجو و موارد دیگر.
- بسیاری از بررسیهای جدید پرز اضافه شد.
- همچنین آخرین بهروزرسانیهای شبیهساز اندروید را مشاهده کنید.