blob: 9407493bf98360959c49e161905e79a9583b09fe [file] [log] [blame]
<?xml version="1.0"?>
<!--
~ Copyright (C) 2018 The Android Open Source Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<tutorialBundle
name="Test What's New from Class Resource"
logo="core/whats_new_logo.png"
resourceRoot="/"
stepByStep="false"
hideStepIndex="true"
version="100">
<feature
name="What's New in 3.3">
<tutorial
key="whats-new"
label=" What's New in 3.3"
icon="stable/whats_new_icon.png"
remoteLink="https://d.android.com/r/studio-ui/whats-new-assistant/canary-release-notes.html"
remoteLinkLabel="Read in a browser">
<description>
<![CDATA[
This panel describes some of the new features and behavior changes
included in this update.
<br><br>
To open this panel again later, select <b>Help &gt; What's New in Android Studio</b>
from the main menu.
]]>
</description>
<step label="Navigation Editor">
<stepElement>
<section>
<![CDATA[
<br>
<img src="https://d.android.com/studio/releases/assistant/3.2.0/jetpack-overview.gif"
width="428"
height="241"
alt="A visual editor in Android Studio helps you manage your apps runtime navigation actions.">
<br><br>
A visual editor for the XML resource that the new Navigation Architecture Component uses to
handle navigation actions at runtime.
<a href="https://d.android.com/topic/libraries/architecture/navigation/navigation-implementing?utm_source=android-studio&utm_medium=studio-assistant">
Learn more</a>
]]>
</section>
</stepElement>
</step>
<step label="Instant apps in app bundles">
<stepElement>
<section>
<![CDATA[
You can now build <a href="https://d.android.com/r/studio-wna/aab-overview">Android App Bundles</a> with full support for
<a href="https://d.android.com/r/studio-wna/instant-app">Instant Apps</a>. In other words, you can now build and deploy both
installed app and Instant App experiences from a single Android Studio project, and include them in a single Android App Bundle.
<a href="https://d.android.com/r/studio-wna/3.3.0/new-psd">
Learn more</a>
]]>
</section>
</stepElement>
</step>
<step label="Optimize Project Sync">
<stepElement>
<section>
<![CDATA[
For projects that configure multiple build variants, you can now optimize project syncs to run only on the build variant you
currently have selected.
<br><br>
If the IDE doesn't prompt you to enable this optimization, enable it manually by navigating to
<b>Settings/Preferences &gt; Experimental &gt; Gradle</b> and checking the box next to <b>Only resolve selected variants</b>.
<a href="https://d.android.com/studio/preview/features?utm_source=android-studio&utm_medium=studio-assistant#single_variant_sync">
Learn more</a>
]]>
</section>
</stepElement>
</step>
<step label="Profiler updates">
<stepElement>
<section>
<![CDATA[
In addition to performance and UI improvements, the Android Studio Profiler includes the following updates.
<br><br>
<b>Select memory allocation collection rate:</b>
To improve app performance while profiling, you can select the rate of data collection for live memory allocation tracking
when deploying to devices running API level 26 or higher.
<a href="https://d.android.com/r/studio-wna/3.3.0/sampling_rate_dropdown">
Learn more</a>
<br><br>
<img src="https://d.android.com/studio/releases/assistant/3.3.0/sampling_rate_dropdown.png"
width="428"
height="120"
alt="A new dropdown menu in the memory profiler lets you select the rate of data collection .">
<br><br>
<b>Inspect frames:</b>
When you <b>Trace System Calls</b> with the CPU profiler, you can inspect data about how the system rendered each frame to
identify bottlenecks that cause UI jank and skipped frames.
<a href="https://d.android.com/r/studio-wna/3.3.0/system_trace_frames">
Learn more</a>
<br><br>
<img src="https://d.android.com/studio/releases/assistant/3.3.0/cpu_frames.png"
width="428"
height="240"
alt="A new frames region in the CPU profiler timeline helps you identify frames that are slow to render.">
<br><br>
]]>
</section>
</stepElement>
</step>
<step label="Build system updates">
<stepElement>
<section>
<![CDATA[
The Android Gradle plugin 3.3.0 requires Gradle 4.10 and higher, and includes the following updates:
<br><br>
<ul>
<li><b>Improved classpath dependency synchronization:</b>
<br>
When resolving dependencies on your runtime and compile time classpaths, the plugin attempts to automatically fix certain
downstream version conflicts for dependencies that appear across multiple classpaths.
<a href="https://d.android.com/r/studio-wna/3.3.0/classpath-sync">
Learn more</a>
</li>
<li><b>Lazy task configuration:</b>
The plugin now uses Gradle’s
<a href="https://docs.gradle.org/current/userguide/task_configuration_avoidance.html#sec:old_vs_new_configuration_api_overview">
new task configuration API</a>, which speeds up the configuration phase by not creating and configuring tasks that are not going
to be executed.
<a href="https://d.android.com/r/studio-wna/3.3.0/lazy-task-configuration">
Learn more</a>
</li>
<li><b>Improved incremental Java compilation when using annotation processors:</b>
Faster build times by improving support for incremental Java compilation when using annotation processors.
<a href="https://d.android.com/r/studio-wna/3.3.0/incremental-javac">
Learn more</a>
</li>
<li><b>Better debug info for obsolete API:</b>
When the plugin detects that you're using API that's no longer supported, it
can now provide more detailed information to help you determine where that API is being
used. To see the additional info, you need to include the following in your
project's <code>gradle.properties</code> file.
<a href="https://d.android.com/r/studio-wna/3.3.0/obsolete_api">
Learn more</a>
<br><br>
<div style="border: solid gray 1px; padding-left: 10px;">
<pre>android.debug.obsoleteApi=true</pre>
</div>
</li>
</ul>
]]>
</section>
</stepElement>
</step>
<step label="Improved C/C++ support">
<stepElement>
<section>
<![CDATA[
Projects that include C/C++ code can benefit from the following improvements:
<br><br>
<ul>
<li><b>Support for Clang-Tidy:</b> Android Studio now includes support for static code analysis using
<a href="http://clang.llvm.org/extra/clang-tidy/">Clang-Tidy</a>. To enable this feature,
<a href="https://d.android.com/ndk/guides/#download-ndk">update your NDK</a> to r18 or higher.
<a href="https://d.android.com/r/studio-wna/3.3.0/clang-tidy">
Learn more</a>
</li>
<li><b>Updated CMake version:</b>
CMake 3.10.2 is now available from the SDK Manager, and you can tell Gradle to use it by including the following
in your module's <code>build.gradle</code> file.
<a href="https://d.android.com/r/studio-wna/3.3.0/cmake_version">
Learn more</a>
<br><br>
<div style="border: solid gray 1px; padding-left: 10px;">
<pre>android {
...
externalNativeBuild {
cmake {
...
version "3.10.2"
}
}
}</pre>
</div>
</ul>
]]>
</section>
</stepElement>
</step>
<step label="Preview R8">
<stepElement>
<section>
<![CDATA[
Preview R8, a new code shrinker that also obfuscates, by adding the line below to your project’s
<code>gradle.properties</code> file.
<br><br>
<div style="border: solid gray 1px; padding-left: 10px;">
<pre>android.enableR8 = true</pre>
</div>
]]>
</section>
</stepElement>
</step>
<step label="Provide quick feedback">
<stepElement>
<section>
<![CDATA[
If you've already opted into sharing usage statistics to help improve Android Studio, you'll see these two new icons in the
status bar at the bottom of the IDE window:
<img src="https://d.android.com/studio/images/buttons/statusbar-feedback_buttons-dark.png" width="40" height="16">
<br><br>
Simply click the icon that best represents your current experience with the IDE. When you do so, the IDE sends usage statistics
that allows the Android Studio team to better understand your sentiment.
<a href="https://d.android.com/r/studio-wna/3.3.0/feedback-buttons">
Learn more</a>
<br><br><hr><br>
<em>Last updated 11/14/2018</em>
<br><br>
]]>
</section>
</stepElement>
</step>
</tutorial>
</feature>
</tutorialBundle>