The following are new features in Android Studio Meerkat.

## Compose Preview enhancements

Android Studio Meerkat includes some optimizations of Compose Preview to
improve your workflow:

1. **Enhanced zoom**: Enjoy smoother and more responsive zooming in your Compose Previews.
2. **Previews collapsible groups**: Organize your preview surface more effectively! Collapse groups of composables under their titles, reducing clutter and making it easier to focus on specific components.
3. **View modes**: To streamline your preview experience, Grid mode is the default view, Gallery mode is accessed by right-clicking preview, and List view has been removed. This provides a clearer and more organized way to view your composables.

These enhancements make it easier than ever to build and iterate on your
Compose UIs.
![Collapsible groups in Compose Previews](https://developer.android.com/static/studio/images/design/preview-grouping.gif) Collapsible groups in Compose Previews.

## KMP Shared Module integration with Android applications

Android Studio now includes a new module template for adding shared logic to
your app using Kotlin Multi-Platform (KMP). To try out this feature, follow
these steps to create a KMP Shared Module in a newly created Android app:

1. Make sure you're using the latest version of Android Studio Meerkat and that your app uses the latest version of Android Gradle Plugin.
2. Open Android Studio and create a new Android project with the *Empty
   Activity* template.
3. Switch from the **Android view** to the **Project view** to access the project structure.
4. Click the **New** button in the **Project view** and select *Kotlin
   Multiplatform Module* from the options. Choose *Shared Module* as the type and keep the default settings.
5. Open the `build.gradle.kts` file in the Android app directory and add a dependency on the shared module.
6. In the shared module, edit the `Platform.android.kt` file and add the
   following line of code:

       actual fun platform() = "Android from Shared KMP Module"

7. Open the `MainActivity.kt` file in the Android app directory and modify it to
   call the `platform()` function from the shared module.

8. Build the project and run the Android application. You should see the
   message, "Hello Android from Shared KMP Module!" displayed on the screen.

These shared modules contain shared business logic that can be used by both
Android and iOS platforms.

## Updated UX for adding virtual and remote devices to Device Manager

Android Studio improves the UX when creating a local virtual device or adding a
device from [Android Device Streaming](https://developer.android.com/studio/run/android-device-streaming).

To get started, click the **+** button from the Device Manager, and select either
**Create Virtual Device** or **Select Remote Devices**.

When creating a new virtual device, new filters and recommendations make it
easier to create a device configuration that fits your needs and
performs the best on your workstation.
![](https://developer.android.com/static/studio/preview/features/images/configure-avd.png) Identify and select the optimal system image for your virtual device using the UI.

Similarly, when selecting remote devices from Android Device Streaming, new
filters make it easier to find and select the devices you need. You now only
need to click the Firebase button at the top of the Device Manager window to
select the Firebase project you want to use for Android Device Streaming.

## New Gemini in Android Studio features

Android Studio Meerkat introduces new features that use Gemini to help you be
more productive. To use these features, enable sharing code context with Gemini
in your current project.

Use the following links to learn more about these features:

- [Analyze crash reports](https://developer.android.com/studio/preview/gemini/deploy#crash-reports)
- [Generate unit test scenarios](https://developer.android.com/studio/preview/gemini/deploy#unit-test-gen)

## Updated Build menu and actions

We made the following changes to the build actions and the Build menu to help
make it easy to build exactly what you want as you work on projects in
Android Studio:

- **Added a new `Build 'run-configuration-name' Run Configuration` action:** This action builds the currently selected run configuration. For example, if you have the `:app` run configuration selected, the action will build and assemble `app`. If you have recently run a test on a device the action will build those tests.
- **Made `Build 'run-configuration-name' Run Configuration` the default Build
  action:** To better match developer's intent, both the toolbar button and the shortcut <kbd>Control/Command+F9</kbd> now execute the new `Build
  run-configuration-name Run Configuration` action.
- **Reordered build actions:** We placed the new `Build run-configuration-name` action at the top of the Build menu, next the Compile actions, and next the "Assemble ..." actions (previous "Make ..." actions). We also renamed the "Rebuild Project" action to "Clean and Assemble Project with Tests" to more clearly reflect what the action does.
- **Used verbs that match what the build actions actually do:** In addition to "Build" and "Compile" actions, we renamed `Make Project` to `Assemble Project`. We also introduced a new `Assemble Project with Tests` action to assemble test components as well.

## Google Play SDK Insights: Deprecated SDK warnings

SDK authors can now indicate when an
[SDK has been deprecated](https://support.google.com/googleplay/android-developer/answer/15321477)
and mention alternative SDKs to use instead. If any of the SDKs used by your
app have been deprecated by their authors, you'll see corresponding warnings in
Android Studio along with information about other SDKs that can be used instead.