YACINE REZGUI: Android Studio 3.4
is now available for download on the stable channel,
along with version 3.4 of the Android plugin for Gradle.
This version of Android Studio fixes a number of issues
and add few new features, a resource manager,
new capabilities to the project structure dialogue,
and enables R8, our new [INAUDIBLE] by default.
This release is an incremental quality release
as part of Project Marble.
And it's specifically light on new features
in order to fix primarily on bug fixes and quality.
Stay tuned for even more on Project Marble
updates in the 3.5 release.
The resource manager is a new tool
that helps you manage your application in drawable colors
and layouts.
You can bulk import resource files in your project,
convert SVGs into vector drawables,
visualize your resource without having to open them,
and even drag and drop drawables from the resource manager
onto the Layout Editor.
Coinciding with the navigation library stable release,
the navigation editor in Android Studio
now supports all type of arguments,
which mean no need to manually edit your navigation
file for previously unsupported types.
The project structure dialog has been redesigned
and includes many new improvements
to help reconfigure project properties without manually
editing your vl-gradle files, and includes rich UI support
for working with module variables.
You can explore the dependency graph of your project
within your resolve dependencies view,
and use the suggestion page to manage dependency conflicts
and updates.
If you start Jetpack and Firebase classes in your code,
we added the new intention action
that suggests adding the required Gradle library
dependency to your project, if you haven't already done so.
On the build side, we have now made
R8 the default code optimizer for Android
builds replacing ProGuard.
Previously, separated tools were used
to handle different stages of compilation, desugaring
of Java class files, dexing, code
shrinking, and optimizations making the build process
longer.
Android Studio 3.1 introduced D8, a new code dexer
that takes on desugaring and transforming class
files into Dalvik Bytecode.
With Android Gradle plugin 3.4 and higher,
we are replacing of the last part, code shrinking
and optimization with R8, a single tool that
combines the functionality D8 and ProGuard,
resulting in noticeable build performance improvements.
Keep in mind, R8 is designed to work with your existing
ProGuard rules.
So you should not need to make any changes to start using R8.
We tested against the center tracker project,
and the shrinking plus dexing time was nearly 50%
faster than using ProGuard.
R8 supports Android library project as well.
If you experience issues using R8 when building AARs,
please report a bug on our tracker.
You can also disable R8 for only Android library projects
with this code in your Gradle file.
By default, R8 works as a drop-in replacement
for ProGuard by running in a compatibility mode.
There is also a full mode available
which enables more optimization, but the compatibility
with ProGuard is no longer assured.
You can enable the full mode by adding this line to your Gradle
property file.
If you're still using the com.Android feature plug-in
to build your instant app, Android Gradle plug-in 3.4
will show you a deprecation warning.
To make sure you can still build your instant app
on future versions of the plugin,
migrate your Instant App to the dynamic feature plugin.
Doing so allows you to build and publish a single instant
enabled Android App Bundle for both
the instant and installed versions of your app.
When building native libraries, ndkCompile is now deprecated.
And it will produce a build error if you try to use it.
You should instead use either CMake or ndk-build to add C
and C++ code to your project.
Enjoy Android Studio 3.4, and remember
that we are listening to your feedback on our bug tracker.
You can test early builds of Android Studio 3.5
on the [INAUDIBLE] channel.
See you soon.
[MUSIC PLAYING]