Android Studio 3.3 is the latest stable release. In this tutorial, we’ll discuss the new features available in this release. Google calls this update as Project Marble.
The focus of Android Studio 3.3 is refinement and quality.
Android Studio 3.3 Features
We can divide new features into following categories.
1. Developer Features
- Navigation Editor
- Android Gradle plugin updates
- IntelliJ IDEA 2018.2.2 Changes
- Delete unused Android Studio directories
- Single-variant project sync
- Kotlin 1.3.11 Update
- Clang-Tidy Support for C++
- New Project Wizard Look
2. Build Features
- Improved incremental Java compilation when using annotation processors
- Lazy task configuration
- Single-variant project sync
- Android App Bundles now supports Instant App
3. Testing Features
- Multiple Emulator AVD instance Launch
- Android 9 Pie — Emulator System Images
- Emulator Snapshot Save Speed Improvement
4. Optimization Features
- Profiler Performance Improvements
- Memory Profiler: Allocation Tracking Options
- Network Profiler: Formatted Text
- CPU Profiler: Frame Rendering Data
Let’s look into some of the important features in detail.
This was available in the Android Studio Canary release before but was put on hold. It’s now finally available in a stable release.
We’ve already discussed and implemented Navigation Editor here.
New Gradle Plugin
The latest plugin version 3.3.1 is here with the Gradle Version 4.10. It comes with decreased build time. It improves support for incremental Java compilation when using annotation processors.
New Project Wizard
While creating a new application, there’s a different look of the project wizard and the activity template you choose.
You can select whether to use AndroidX or not as shown in the image below:
Delete Unused IDE Directories
In the past updates of Android Studio, it was difficult to locate and remove the caches, settings of old Android Studio versions. Now, when you update the IDE, it allows you to delete the older ones.
Automatic Downloading of SDK Components
When syncing a project if there are some missing components, Gradle now automatically downloads them provided that you had permitted this.
Better debug info when using obsolete APIs
If your application is using obsolete APIs, Android Studio now provides more detailed debugging information on which part of your code is calling them. To enable this option, add the following line of code to a Gradle file:
android.debug.obsoleteApi = true.
Single Variant Build Sync
If your project is configured with multiple build variants you can configure the IDE to sync only the active build thus saving lots of time.
Instant Apps for Android Bundles
You can now create Instant Apps for Android App Bundles.
Dummy Data in Layout Editor
You can now use Dummy Data in UI elements like RecyclerView by setting Design Time View Attributes as demonstrated in the GIF below:
Improved Support for C/C++
Not only can you create a C++ native module from the project wizard, but you also have support for Clang-Tidy. Android Studio now includes support for static code analysis using Clang-Tidy. To enable this feature, update your NDK to r18 or higher.
CMake 3.10.2 is now available from the SDK Manager. We can include it in the build.gradle file using the following code:
Preview R8, a new code shrinker that also obfuscates the code. Add the following line in the
android.enableR8 = true
Network Profile now includes formatted text for certain data like JSON, XML, and HTML. Previously, it only displayed raw data.
Slices provide a new way to embed portions of your app’s functionality in other user interface surfaces on Android. For example, Slices make it possible to show app functionality and content in Google Search Suggestions.
Last but not least, there’s a feedback screen at the bottom right to allow developers to send feedback.
That brings an end to this tutorial. You can download Android Studio 3.3 from the official Download Page using this link.