Category Archives: Android Developers Blog

An Open Handset Alliance Project

Jetpack Compose is now 1.0: announcing Android’s modern toolkit for building native UI

Posted by Anna-Chiara Bellini, Product Manager, Nick Butcher, Developer Relations

Today, we're launching version 1.0 of Jetpack Compose, Android's modern, native UI toolkit to help you build better apps faster. It's stable, and ready for you to adopt in production. We have been developing Compose in the open with feedback and participation from the Android community for the last two years. As we reach 1.0, there are already over 2000 apps in the Play Store using Compose - in fact, the Play Store app itself uses Compose! But that’s not all, we have been working with a number of top app developers and their feedback and support has helped us make the 1.0 release even stronger. Square, for instance, told us that by using Compose, they can “focus on things that are unique to Square and their UI infrastructure, rather than solving the broader issue of building a declarative UI framework”. Monzo said Compose allows them to “build higher quality screens more quickly”. And Twitter summed it up nicely: “We love it! ❤️

We designed Compose to make it faster and easier to build native Android apps. With a fully declarative approach, you just describe your UI, and Compose takes care of the rest. As app state changes, your UI automatically updates, making it a lot simpler to build UI quickly. Intuitive Kotlin APIs help you build beautiful apps with way less code, and native access to all existing Android code means you can adopt at your own pace. Powerful layout APIs and code-driven UI make it easy to support different form factors, like tablets and foldables, and Compose support is coming for WearOS, Homescreen Widgets, and more!

This 1.0 release is ready for use in production, offering key features that you need:

  • Interoperable: Compose is built to interoperate with your existing app. You can embed compose UIs within Views or Views within Compose. You can add as little as a single button to a screen, or keep that custom view you’ve created in a now Compose screen.
  • Jetpack Integration: Compose is built to integrate with the Jetpack libraries you already know and love. With integration with Navigation, Paging, LiveData (or Flow/RxJava), ViewModel and Hilt, Compose works with your existing architecture.
  • Material: Compose offers an implementation of Material Design components and theming, making it easy to build beautiful apps that reflect your brand. The Material theming system is easier to understand and trace, without having to consult multiple XML files.
  • Lists: Compose’s Lazy components offer a simple, succinct but powerful way to efficiently display lists of data, with minimal boilerplate.
  • Animation: Compose’s simple and coherent animation APIs make it far easier to delight your app’s users.


New Tools

The fully declarative approach in Jetpack Compose radically changes how you develop UI. To support new workflows and a different way of thinking, we are delivering new tools, designed specifically for Compose, and adding support for Compose to some of our existing tooling.

Compose Preview

The new Compose Preview, available in Android Studio Arctic Fox allows you to see your Composables in different states, light and dark theme, or different font scalings, all at the same time, making component development easier, without having to deploy a whole app to your device. Enhanced with live editing of literals, you can see updates without recompiling your project.


Deploy Preview

If you ever wished to be able to test parts of the UI on a device, without having to navigate through your app to the screen you’re working on, you will like the new Deploy Preview: just create a preview for your Composable, and deploy it on your device for fast iteration.

Compose support in Layout Inspector

Layout Inspector adds support for Composables, so that you can confidently mix Compose with existing Views.

Read more about Compose support in Android Studio Arctic Fox, here.

Sharing our roadmap for Compose

Adopting any new framework requires evaluation, especially something as far reaching as a new UI Toolkit. To help you to make an informed decision whether it’s the right time for you we’re publishing a public roadmap to share our plans to continue to build out Jetpack Compose.





Learning Compose

To help you get composing, we’ve prepared an extensive set of resources for you and your team:


There’s a lot to learn! The Jetpack Compose Pathway provides a step-by-step journey through key codelabs, videos and docs to help guide you.

Enjoy composing!

We really believe that Jetpack Compose is a huge leap forward, making it so much faster and easier to build great UIs; we can’t wait to see what you build with it. Now that Compose is stable at 1.0, it’s time to get started; there’s nothing better than getting right to the code. Happy Composing!

Preparing for Google Play’s new safety section

Posted by Suzanne Frey, VP, Product, Android Security and Privacy

Today, we’re announcing additional details for the upcoming safety section in Google Play. At Google, we know that feeling safe online comes from using products that are secure by default, private by design, and give users control over their data. This new safety section will provide developers a simple way to showcase their app’s overall safety. Developers will be able to give users deeper insight into their privacy and security practices, as well as explain the data the app may collect and why — all before users install the app.

Ultimately, all Google Play store apps will be required to share information in the safety section. We want to give developers plenty of time to adapt to these changes, so we’re sharing more information about the data type definitions, user journey, and policy requirements of this new feature.



What the new safety section may look like:

Images are directional and subject to change

Users will see the new summary in an app’s store listing page. It’ll share the developer’s explanation of what data an app collects or shares and highlight safety details, such as whether:

  • The app has security practices, like data encryption
  • The app follows our Families policy
  • The app has been independently validated against a global security standard

Images are directional and subject to change

Users can tap into the summary to see details like:

  • What type of data is collected and shared, such as location, contacts, personal information (e.g., name, email address), financial information and more
  • How the data is used, such as for app functionality, personalization, and more
  • Whether data collection is optional or required in order to use an app

Images are directional and subject to change

In designing our labels, we learned developers appreciate when they can provide context about their data practices and more detail on whether their app automatically collects data versus if that collection is optional. We also learned that users care about whether their data is shared with other companies, and why.

The final design is subject to change as we continue working with developers and designing for the best blend of developer and user experiences.

Policy changes to support the safety section

Today we announced new user data policies designed to provide more user transparency and to help people make informed choices about how their data is collected, protected and used.

  • All developers must provide a privacy policy. Previously, only apps that collected personal and sensitive user data needed to share a privacy policy.
  • Developers are responsible for providing accurate and complete information in their safety section, including data used by the app’s third party libraries or SDKs.

This applies to all apps published on Google Play, including Google's own apps.

What you can expect

We want to provide developers with plenty of time and resources to get prepared.

Target Timeline. Dates subject to change.

Starting in October, developers can submit information in the Google Play Console for review. We encourage you to start early in case you have questions along the way. The new safety section will launch for apps in Google Play in Q1 2022.

We know that some developers will need more time to assess their apps and coordinate with multiple teams. So, you’ll have until April 2022 before your apps must have this section approved. Without an approved section, your new app submission or app update may be rejected.

Images are directional and subject to change

If your app’s information is not approved by the time we launch the safety section in Google Play to users in Q1 2022, then it will display “No information available.”

How to get prepared:

  • Visit the Play Console Help Center for more details about providing app privacy details in Play Console, including data type lists and examples.
  • Review how your app collects, protects and shares data. In particular, check your app’s declared permissions and the APIs and libraries that your app uses. These may require you to indicate that your app collects and shares specific types of data.
  • Join a policy webinar and send us your questions in advance. You can register for Global, India, Japan, or Korea sessions.

We’ll continue to share more guidance, including specific dates, over the next few months.

Thank you for your continued partnership in building this feature alongside us and in making Google Play a safe and trustworthy platform for everyone.

Announcing Policy Updates To Bolster Privacy and Security

Posted by Krish Vitaldevara, Director, Product Management

We are always looking to make Google Play a safer and more trustworthy experience for developers and consumers. Today, we’re announcing new policy updates to bolster user control, privacy, and security.

Giving users more transparency into data privacy and security

We’re sharing our new policy for the upcoming safety section in Google Play alongside additional information, like data definitions. Learn more.

Improving advertising privacy and security

We’ve long offered users meaningful controls with advertising ID, like being able to reset their identifier at any time or opt out of allowing the identifier to be used for ads personalization. We’re continuing to add more controls this year.

As we pre-announced to developers on June 2, we’re making a technical change as part of Google Play services update in late 2021. When users opt out of interest-based advertising or ads personalization, their advertising ID will be removed and replaced with a string of zeros. As a reminder, this Google Play services change will be a phased rollout, affecting apps running on Android 12 devices starting late 2021 and expanding to all apps running on devices that support Google Play in early 2022. Also, apps updating their target API level to Android 12 will need to declare a new Google Play services permission in the manifest file in order to use advertising ID.

We will also test a new feature that notifies developers and ad/analytics service providers of user opt-out preferences to help developers implement user choice and add to existing policy restrictions on how advertising ID can be used. When a user deletes their advertising ID, developers will receive a notification so they can promptly erase advertising IDs that are no longer in use.

In addition, we’re prohibiting linking persistent device identifiers to personal and sensitive user data or resettable device identifiers. This policy adds an additional layer of privacy protection when users reset their device identifiers or uninstall apps.

And last, we’re offering a developer preview of app set ID for essential use cases such as analytics or fraud prevention. App set ID is a unique ID that, on a given device, allows you to correlate usage or actions across a set of apps owned by your organization. You cannot use app set ID for ads personalization or ads measurement. It will also automatically reset if all the developers’ apps on the device are uninstalled or none of the apps have accessed the ID in 13 months.

Enhancing protection for kids

As we introduce app set ID for analytics and fraud prevention, we are also making changes to further enhance privacy for kids. If an app is primarily directed to children, it cannot transmit identifiers like advertising ID. If an app’s audience is both kids and adults, then it needs to avoid transmitting these identifiers for kids.

Over the next several months, we’ll share more information for a smooth transition.

Strengthening security

Security is fundamental to enabling privacy across our platform. We’re announcing a few policy updates to help keep user data secure.

First, Google Play remains a safer ecosystem when developers actively maintain their apps. So, we will close dormant accounts if the account is inactive or abandoned after a year. This includes accounts where the developer has never uploaded an app or accessed Google Play Console in a year.

We will continue supporting developers with actively growing apps. We won’t close accounts with apps that have 1000+ installs or have in-app purchases in the last 90 days. Developers whose accounts are closed can create new ones in the future, but they won’t be able to reactivate old accounts, apps, or data.

Second, it’s important for users to have an accessible experience that is secure. So, we’re adding new requirements on how AccessibilityService API and IsAccessibilityTool can be used. These tools help build accessible experiences, which often require access to user data and device functionality. Now, all apps that use the AccessibilityService API will need to disclose data access and purpose in Google Play Console and get approval. Learn more.

Reminder on Payments policy

As we shared earlier in July, after careful consideration of feedback from both large and small developers, we are giving developers an option to request a 6-month extension until March 31, 2022 to comply with our Payments policy.

For more resources

Thank you for helping us make Google Play an even more trustworthy platform for everyone.

Accessing car hardware APIs in your app for cars

Posted by Madan Ankapura, Product Manager

Building on our effort to enable developers to create app experiences across navigation, parking, and charging apps via Android for Cars App Library as part of Jetpack, today we’re announcing the availability of CarHardwareManager APIs as part of version 1.1 alpha02 to get developer feedback.

CarHardwareManager can be used to query the vehicle’s hardware data, such as model and make, fuel levels and other sensors. Currently, this feature is only available for Android Auto 6.7+ in the open-testing channel. Testing this in a desktop environment requires a new version of the Desktop Head Unit which will be released separately. Stay tuned here for details on when the new version becomes available.

For the entire list of changes in alpha02, please see the release notes. To start building your app for the car, check out our updated developer documentation, car quality guidelines and design guidelines. These library features are available for testing only with the Desktop Head Unit. We will announce when these features are available to run in cars in the future.

In addition, if you are a developer of a parking app, you can now integrate with Google Assistant to enable users to talk to Google to open their favorite parking app and find parking while driving.

If you’re interested in joining our Early Access Program in the future, please fill out this interest form. You can get started with the Android for Cars App Library today, by visiting g.co/androidforcars.

Allowing developers to apply for more time to comply with Play Payments Policy

Posted by Purnima Kochikar, VP Play Partnerships

Every day we work with developers to help make Google Play a safe, secure and seamless experience for everyone, and to ensure that developers can build sustainable businesses. Last September, we clarified our Payments Policy to be more explicit about when developers should use Google Play’s billing system. While most developers already complied with this policy, we understood that some existing apps currently using an alternative billing system may need to make changes to their apps, and we gave one year for them to make these updates.

Many of our partners have been making steady progress toward the September 30 deadline. However, we continue to hear from developers all over the world that the past year has been particularly difficult, especially for those with engineering teams in regions that continue to be hard hit by the effects of the global pandemic, making it tougher than usual for them to make the technical updates related to this policy.

After carefully considering feedback from both large and small developers, we are giving developers an option to request a 6-month extension, which will give them until March 31, 2022 to comply with our Payments policy. Starting on July 22nd, developers can appeal for an extension through the Help Center and we will review each request and get back to requests as soon as possible.

Check out the Help Center and the Policy Center for details, timelines, and frequently asked questions. You can also check out Play Academy or watch the PolicyBytes video for additional information.

Android 12 Beta 3 for TV is now available

Posted by Wolfram Klein, Product Manager, Android TV OS

Alongside today’s Android 12 Beta 3 release for mobile, we’re also bringing the third Beta of Android 12 to Android TVs. We’re excited to bring new media features, UI improvements, and privacy controls to the experience with Beta 3 while we continue our work of preparing the full release.

Media

At the heart of the TV experience is beautiful and seamless media playback. In the US, users are spending well over 4 hours a day watching media on TV, and are always asking for the highest resolution playback possible. With Android 12, we are releasing three new features to better support ever-improving picture quality.

  • Refresh Rate Switching Settings: For a smoother viewing experience, Android 12 now supports seamless and non-seamless refresh rate switching. Apps can now integrate these settings for playback of content at optimal frame rates. The Match Content Frame Rate user setting has been added to allow users to control this feature, and apps can call Display.getMode to know if a user’s device supports seamless rate switching.
  • Better display mode reporting: We are improving how TV devices report display modes and making hotplugging behavior more consistent. App developers no longer need to use workarounds for accurately detecting display modes or for handling HDMI hotplug events.
  • Tunnel Mode Updates: Updates to Android’s tunnel mode are making it even easier for app developers to support consistent and efficient playback across devices by reducing media processing overhead in the Android Framework.

User Interface

A beautiful media experience needs an equally stunning user interface to match. Android TV brings two new additions to the UI that help developers provide users with a richer visual experience on high performance devices.

  • Background blurs: Background blurring using RenderEffect (for in-app blurs) and WindowManager (for cross-window blurs) can now be used to easily enhance the visual separation of different UI layers.

Example background blur used to separate UI layers.

  • 4K UI support: For added visual fidelity, Android TV OS now officially supports UI rendering at 4k resolution on compatible devices. 4K UI resolution can be tested in the upcoming Android 12 emulator for TV to allow app developers to prepare their app for devices with the higher resolution.

Privacy and Security

With Android 12, we’re continuing to focus on giving users more transparency and control while keeping their devices and data secure. Beta 3 for TV includes many of the new privacy features from the Android framework.

  • Microphone and camera indicators: Users will now see any time apps are accessing the microphone or camera by showing an indicator on the TV screen. For better visibility of recent app accesses to microphone and camera, users can visit their privacy settings on TV.

Microphone and camera indicators showing during a video call. Video credit: Ekaterina Bolovtsova.

  • Microphone and camera toggles: Two new global privacy settings are now available, allowing the user to easily toggle access to the microphone or camera. When those toggles are disabled, apps will be unable to access microphone audio and camera video.

Microphone access toggle in a user’s global privacy settings.

  • Device Attestation: To assure that your application is running on certified and authentic hardware, the Android KeyStore API has been extended to support attestation of basic device properties.

The Android 12 Beta 3 release for TV is available as a system update to ADT-3 devices today. Also available in the coming weeks, you can use the preview version of the Android 12 emulator to test and build your apps for TV. We hope this helps you test your Android TV app implementations for the next generation of devices. To learn more about getting your Android TV app ready, visit our Android TV OS developers page.

We can’t wait to see what you will build with Android 12 on TV!

Android 12 Beta 3 and final APIs

Posted by Dave Burke, VP of Engineering

Android 12 logo

Each month we’re bringing Android 12 closer to its final form, with innovative features, a new UI that adapts to you, performance improvements, privacy enhancements, security benefits, and much more. Many of you are already developing and testing on Android 12 through our Beta program - thank you for all of the feedback you’ve shared so far!

There’s still a lot to do to land this release, though, and today we’re pushing out the third Beta of Android 12 for you to try. Along with updates like scrolling screenshots, privacy indicator APIs, and enhanced auto-rotate, Beta 3 also includes the final Android 12 APIs and the official SDK. WIth these, you can start testing and updating your app ahead of Platform Stability, coming up next at Beta 4. Now is the time to make sure your apps are ready!

You can get Beta 3 today on your Pixel device by enrolling here for over-the-air updates, and if you previously enrolled, you’ll automatically get today’s update. You can also get Android 12 Beta 3 on select devices from several of our device-maker partners like Sharp and TCL - learn more at android.com/beta. Visit the Android 12 developer site for details on how to get started.

What’s new in Beta 3?

Beta 3 includes a number of updates to improve functionality, user experience, and performance. Here are a few highlights.

Scrolling screenshots - To make it easier to capture and share scrolling content, we’re adding scrolling screenshots. Starting in Beta 3, when users capture a screenshot of content that’s scrollable, they’ll now see a “Capture more” button to extend the screenshot to the full content and they can then adjust the crop.

capturing a scrolling screenshot in the Settings app

Capturing a scrolling screenshot in the Settings app

Scrolling screenshots work out-of-the-box for most apps -- if your app uses a standard View-based UI, no changes should be needed. For apps and UI toolkits that are not using View-based UI or that use highly customized UI, we’re introducing a new ScrollCapture API to support scrolling screenshots. With this API, the system notifies your app of scroll capture requests and provides a Surface for you to draw your UI into. We’re continuing to iterate on scrolling screenshots and in Beta 4 you’ll see improvements to the default support, such as for scrolling ListViews. We're also working to provide support for a wider variety of content (such as web content). Let us know what you think!

On-device search - With Beta 3 we’re highlighting platform support for AppSearch, a new high-performance on-device search engine. With AppSearch, apps can index structured data and search over it with built-in full-text search capabilities, and they can use native features like highly-efficient indexing and retrieval, multi-language support, and relevancy ranking.

AppSearch comes in two flavors: a local index for your app to use that’s backward-compatible through a new AppSearch Jetpack library, and a central index that’s maintained for the entire system in Android 12 (and later releases). When you participate in the central index, the system will be able to display your app’s data on System UI surfaces unless you choose to opt out. Additionally, you can securely share data with other apps, allowing them to search your app’s data as well as their own. More here.

Privacy indicator APIs in WindowInsets - In Beta 2 we added support for privacy indicators in the status bar that show when an app is using the device camera or microphone. Since the indicators can be displayed when an app is in immersive mode and could potentially cover controls or content, apps need to know where the indicators can be drawn and make any adjustments needed to prevent useful content from being covered. In Beta 3 we’ve added new privacy indicator APIs to WindowInsets that let you get the maximum bounds of the indicators and their relative placement on the screen, taking into account the current orientation and language settings. More here.

Camera and microphone toggles configurable for enterprises - In Beta 2 we also introduced new toggles that let users instantly turn off access to the device microphone and camera for all apps. We’ve now made these accessible to enterprise administrators who can set any restrictions needed on fully managed devices. More here.

New permission for CDM-paired apps starting foreground services - To better support companion apps carrying out core functionality while providing transparency to the system, apps paired with Companion Device Manager (CDM) can launch foreground services from the background by declaring a new normal permission. More here.

Better, faster auto-rotate - We’ve enhanced Android’s auto-rotate feature with face detection, using the front-facing camera to more accurately recognize when to rotate the screen. This is especially helpful for people who are using their devices while lying down on a couch or in bed, for example. For developers, this means that the auto-rotation behavior will provide a better user experience for users who have opted in through Settings. The enhanced auto-rotate feature lives within our recently announced Private Compute Core, so images are never stored or sent off the device. In Beta 3 this feature is available on Pixel 4 and later Pixel devices.

To make screen rotation as speedy as possible on all devices, we’ve also optimized the animation and redrawing and added an ML-driven gesture-detection algorithm. As a result, the latency for the base auto-rotate feature has been reduced by 25%, and the benefits of the face detection enhancement build on top of those improvements. Give the auto-rotate improvements a try and let us know what you think.

Android 12 for Games - With Game Mode APIs, you can react to the players' performance profile selection for your game - like better battery life for a long commute, or performance mode to get peak frame rates. These APIs will be tied to the upcoming game dashboard which provides an overlay experience with quick access to key utilities during gameplay. The game dashboard will be available on select devices later this year.

play as you download image

Play as you download on Android 12 with Touchgrind BMX

Meanwhile, play as you download will allow game assets to be fetched in the background during install, getting your players into gameplay faster.

Visit the Android 12 developer site to learn more about all of the new features in Android 12.

Final APIs and SDK

Over the past several weeks we've been working to finalize the Android 12 APIs and today we're releasing them with Beta 3, along with the official API Level 31 SDK. We plan to reach full Platform Stability at Beta 4, when all app-facing system behaviors and non-SDK interface restrictions will also be final, in addition to the API surfaces.

If you’re compiling your app against the Android 12 APIs, we recommend using today’s release to update your environment and recompile your apps with the final SDK and latest tools.

App compatibility

With many early-adopter users and developers getting Android 12 Beta on Pixel and other devices, now is the time to make sure your apps are compatible and ready for them to use!

To test your app for compatibility with Beta 3, just install the published version from Google Play or other source onto a device or emulator running Android 12 Beta. Work through all of the app’s flows and watch for functional or UI issues. Review the behavior changes to focus your testing on areas where underlying changes may affect your app. There’s no need to change your app’s targetSdkVersion at this time, so once you’ve resolved any issues, we recommend publishing an update as soon as possible for your Android 12 Beta users.

platform stability

As mentioned earlier, Android 12 will reach Platform Stability in the next release, Beta 4. With Platform Stability, all app-facing system behaviors, SDK/NDK APIs, and non-SDK restrictions will be finalized. At that time, you can begin your final compatibility testing and release a fully compatible version of your app, SDK, or library. More on the Android 12 timeline for developers is here.

Get started with Android 12!

Today’s Beta release has everything you need to try the latest Android 12 features, test your apps, and give us feedback. Just enroll any supported Pixel device to get the update over-the-air. To get started developing, set up the Android 12 SDK.

You can also get Android 12 Beta 3 on devices from some of our top device-maker partners like Sharp and TCL. Visit android.com/beta to see the full list of partners participating in Android 12 Beta. For even broader testing, you can try Android 12 Beta on Android GSI images, and if you don’t have a device you can test on the Android Emulator.

Beta 3 is also available for Android TV, so you can check out the latest TV features and test your apps on the all-new Google TV experience. Try it out with the ADT-3 developer kit. More here.

For complete details on Android 12 Beta, visit the Android 12 developer site.

Android Game Development Extension is now available to all Android game developers

Posted by Lily Rapaport, Product Manager

After more than a year in closed beta, we are happy to announce that Android Game Development Extension (AGDE) is now available for all game developers to download. This milestone release of Game Tools from the Android Studio team meets game developers where they are; AGDE adds Android as a platform target to Microsoft Visual Studio, making it easier to target Android with existing multi-platform Visual Studio game projects.

AGDE is part of the Android Game Development Kit, which includes both libraries and tools that support making great games on Android. AGDE is best suited for game developers that develop primarily on Microsoft Windows using Visual Studio to write C/C++ code. Game developers that do not fall under these criteria, but are using C/C++, should use Android Studio to develop for Android.

Alongside the release of AGDE 2021.1, we recently published case studies on how our partners, Epic Games and Electronic Arts found success using AGDE.

We built AGDE as part of our effort to address game developers facing issues in targeting Android with their cross-platform workflows. At the top of the list of issues was developers’ preference to remain in a single IDE instead of maintaining multiple projects for different platforms. AGDE enables this for game developers using Visual Studio by removing the need to switch between IDEs when switching between platforms. In addition, we wanted to solve pain points around existing Visual Studio tools for Android that are often dated or suffer from integration issues. Our team is committed to having AGDE support the latest versions of the Android SDK, and NDK as well as providing updated tools easily accessible from Visual Studio. Finally, we wanted to bring you quick access to some of the most useful Android Studio capabilities, built into AGDE. Therefore, we invested in creating seamless integrations to our most popular tools, such as Studio profilers, logcat, and the Android SDK and device manager. Overall, these features are designed to make you more productive in your day-to-day game development workflow.

Build with AGDE

After downloading and installing AGDE in a Visual Studio project, you can treat Android development as you would any other platform.

  • AGDE integrates with MSBuild to compile and link C++ code for Android.
  • Project build settings are configured using the standard Visual Studio property system. After the MSBuild process, AGDE uses Gradle to complete the build and package the project. This Gradle stage can be used to integrate Android libraries containing Java or Kotlin code into the final application bundle.
  • The Android SDK manager provides access to additional tools and frameworks to assist with building Android games.
  • The Android Virtual Device (AVD) manager allows you to launch directly into emulator snapshots so that you can have a repeatable test environment.

Debug with AGDE

AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device. Debug sessions run inside Visual Studio, using its standard interface for breakpoints, tracing and variable inspection.

  • AGDE interfaces with LLDB for debugging support.
  • Register views, and disassembly of native code allow you to set a breakpoint, and step right into the disassembly of your OpenGL. The assembly view shows the assembly in-line with the current C++, allowing you to step into or over each instruction as they are executed. This is useful for building context and understanding what is running on your device.
    gif demonstrating AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device.
  • The memory view shows the current values within a block of memory. As we step through the running game, AGDE in Visual Studio automatically highlights the areas of memory that have changed. In the screenshot below we show where in memory the view matrix has changed, as indicated by the red text.
  • Sometimes when debugging isn’t enough to figure out what is going on, we know that having access to the logs can be helpful to dig deeper. The logcat tool allows for searching and filtering logs to pinpoint exactly the data you want.

Profile with AGDE

AGDE integrates with a standalone version of Android Studio Profilers. This profiler can be launched from Visual Studio and attached to a running game session.

  • The Android Studio Profilers display real time usage statistics for CPU, memory, network, and energy.
  • We added support for native memory sampling. Now you can better understand where your memory is going and how to optimize your game for a broader reach of devices.
gif demonstrating how AGDE integrates with a standalone version of Android Studio Profilers.

Integrations

We know everyone has a unique build setup and there is no “one-size-fits-all” solution. That is why we are investing in making AGDE compatible with various tools commonly used by game developers.

  • We partnered with Epic Games to integrate with Unreal Engine (UE 4.26.1+) to provide a seamless Android experience for Unreal Engine game developers.
  • We are working with Sony Distributed Build System (SN-DBS) to enable SN-DBS users to leverage the power of distributed builds for Android with AGDE (coming soon)
  • AGDE is compatible with Incredibuild, a distributed build tool.

Getting started

Download AGDE 2021.1 and see our documentation for additional details. To help you get to know AGDE quickly, we put together a few samples that demonstrate different ways you can use AGDE to configure your project.

Visual Studio IntelliSense features are compatible with AGDE. All current Android CPU architectures are supported: both ARM and Intel in 32-bit and 64-bit.

We appreciate any feedback on things you like, and issues or features you would like to see. If you find a bug or issue, feel free to file an issue. Learn more about Android game development, and follow us -- the Android Studio development team ‐ on Twitter and on Medium.

Microsoft and Visual Studio are trademarks of the Microsoft group of companies.

Android Game Development Extension is now available to all Android game developers

Posted by Lily Rapaport, Product Manager

After more than a year in closed beta, we are happy to announce that Android Game Development Extension (AGDE) is now available for all game developers to download. This milestone release of Game Tools from the Android Studio team meets game developers where they are; AGDE adds Android as a platform target to Microsoft Visual Studio, making it easier to target Android with existing multi-platform Visual Studio game projects.

AGDE is part of the Android Game Development Kit, which includes both libraries and tools that support making great games on Android. AGDE is best suited for game developers that develop primarily on Microsoft Windows using Visual Studio to write C/C++ code. Game developers that do not fall under these criteria, but are using C/C++, should use Android Studio to develop for Android.

Alongside the release of AGDE 2021.1, we recently published case studies on how our partners, Epic Games and Electronic Arts found success using AGDE.

We built AGDE as part of our effort to address game developers facing issues in targeting Android with their cross-platform workflows. At the top of the list of issues was developers’ preference to remain in a single IDE instead of maintaining multiple projects for different platforms. AGDE enables this for game developers using Visual Studio by removing the need to switch between IDEs when switching between platforms. In addition, we wanted to solve pain points around existing Visual Studio tools for Android that are often dated or suffer from integration issues. Our team is committed to having AGDE support the latest versions of the Android SDK, and NDK as well as providing updated tools easily accessible from Visual Studio. Finally, we wanted to bring you quick access to some of the most useful Android Studio capabilities, built into AGDE. Therefore, we invested in creating seamless integrations to our most popular tools, such as Studio profilers, logcat, and the Android SDK and device manager. Overall, these features are designed to make you more productive in your day-to-day game development workflow.

Build with AGDE

After downloading and installing AGDE in a Visual Studio project, you can treat Android development as you would any other platform.

  • AGDE integrates with MSBuild to compile and link C++ code for Android.
  • Project build settings are configured using the standard Visual Studio property system. After the MSBuild process, AGDE uses Gradle to complete the build and package the project. This Gradle stage can be used to integrate Android libraries containing Java or Kotlin code into the final application bundle.
  • The Android SDK manager provides access to additional tools and frameworks to assist with building Android games.
  • The Android Virtual Device (AVD) manager allows you to launch directly into emulator snapshots so that you can have a repeatable test environment.

Debug with AGDE

AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device. Debug sessions run inside Visual Studio, using its standard interface for breakpoints, tracing and variable inspection.

  • AGDE interfaces with LLDB for debugging support.
  • Register views, and disassembly of native code allow you to set a breakpoint, and step right into the disassembly of your OpenGL. The assembly view shows the assembly in-line with the current C++, allowing you to step into or over each instruction as they are executed. This is useful for building context and understanding what is running on your device.
    gif demonstrating AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device.
  • The memory view shows the current values within a block of memory. As we step through the running game, AGDE in Visual Studio automatically highlights the areas of memory that have changed. In the screenshot below we show where in memory the view matrix has changed, as indicated by the red text.
  • Sometimes when debugging isn’t enough to figure out what is going on, we know that having access to the logs can be helpful to dig deeper. The logcat tool allows for searching and filtering logs to pinpoint exactly the data you want.

Profile with AGDE

AGDE integrates with a standalone version of Android Studio Profilers. This profiler can be launched from Visual Studio and attached to a running game session.

  • The Android Studio Profilers display real time usage statistics for CPU, memory, network, and energy.
  • We added support for native memory sampling. Now you can better understand where your memory is going and how to optimize your game for a broader reach of devices.
gif demonstrating how AGDE integrates with a standalone version of Android Studio Profilers.

Integrations

We know everyone has a unique build setup and there is no “one-size-fits-all” solution. That is why we are investing in making AGDE compatible with various tools commonly used by game developers.

  • We partnered with Epic Games to integrate with Unreal Engine (UE 4.26.1+) to provide a seamless Android experience for Unreal Engine game developers.
  • We are working with Sony Distributed Build System (SN-DBS) to enable SN-DBS users to leverage the power of distributed builds for Android with AGDE (coming soon)
  • AGDE is compatible with Incredibuild, a distributed build tool.

Getting started

Download AGDE 2021.1 and see our documentation for additional details. To help you get to know AGDE quickly, we put together a few samples that demonstrate different ways you can use AGDE to configure your project.

Visual Studio IntelliSense features are compatible with AGDE. All current Android CPU architectures are supported: both ARM and Intel in 32-bit and 64-bit.

We appreciate any feedback on things you like, and issues or features you would like to see. If you find a bug or issue, feel free to file an issue. Learn more about Android game development, and follow us -- the Android Studio development team ‐ on Twitter and on Medium.

Microsoft and Visual Studio are trademarks of the Microsoft group of companies.

Android Game Development Extension is now available to all Android game developers

Posted by Lily Rapaport, Product Manager

After more than a year in closed beta, we are happy to announce that Android Game Development Extension (AGDE) is now available for all game developers to download. This milestone release of Game Tools from the Android Studio team meets game developers where they are; AGDE adds Android as a platform target to Microsoft Visual Studio, making it easier to target Android with existing multi-platform Visual Studio game projects.

AGDE is part of the Android Game Development Kit, which includes both libraries and tools that support making great games on Android. AGDE is best suited for game developers that develop primarily on Microsoft Windows using Visual Studio to write C/C++ code. Game developers that do not fall under these criteria, but are using C/C++, should use Android Studio to develop for Android.

Alongside the release of AGDE 2021.1, we recently published case studies on how our partners, Epic Games and Electronic Arts found success using AGDE.

We built AGDE as part of our effort to address game developers facing issues in targeting Android with their cross-platform workflows. At the top of the list of issues was developers’ preference to remain in a single IDE instead of maintaining multiple projects for different platforms. AGDE enables this for game developers using Visual Studio by removing the need to switch between IDEs when switching between platforms. In addition, we wanted to solve pain points around existing Visual Studio tools for Android that are often dated or suffer from integration issues. Our team is committed to having AGDE support the latest versions of the Android SDK, and NDK as well as providing updated tools easily accessible from Visual Studio. Finally, we wanted to bring you quick access to some of the most useful Android Studio capabilities, built into AGDE. Therefore, we invested in creating seamless integrations to our most popular tools, such as Studio profilers, logcat, and the Android SDK and device manager. Overall, these features are designed to make you more productive in your day-to-day game development workflow.

Build with AGDE

After downloading and installing AGDE in a Visual Studio project, you can treat Android development as you would any other platform.

  • AGDE integrates with MSBuild to compile and link C++ code for Android.
  • Project build settings are configured using the standard Visual Studio property system. After the MSBuild process, AGDE uses Gradle to complete the build and package the project. This Gradle stage can be used to integrate Android libraries containing Java or Kotlin code into the final application bundle.
  • The Android SDK manager provides access to additional tools and frameworks to assist with building Android games.
  • The Android Virtual Device (AVD) manager allows you to launch directly into emulator snapshots so that you can have a repeatable test environment.

Debug with AGDE

AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device. Debug sessions run inside Visual Studio, using its standard interface for breakpoints, tracing and variable inspection.

  • AGDE interfaces with LLDB for debugging support.
  • Register views, and disassembly of native code allow you to set a breakpoint, and step right into the disassembly of your OpenGL. The assembly view shows the assembly in-line with the current C++, allowing you to step into or over each instruction as they are executed. This is useful for building context and understanding what is running on your device.
    gif demonstrating AGDE supports deploying to, running on, and debugging with both an Android emulator and a physical device.
  • The memory view shows the current values within a block of memory. As we step through the running game, AGDE in Visual Studio automatically highlights the areas of memory that have changed. In the screenshot below we show where in memory the view matrix has changed, as indicated by the red text.
  • Sometimes when debugging isn’t enough to figure out what is going on, we know that having access to the logs can be helpful to dig deeper. The logcat tool allows for searching and filtering logs to pinpoint exactly the data you want.

Profile with AGDE

AGDE integrates with a standalone version of Android Studio Profilers. This profiler can be launched from Visual Studio and attached to a running game session.

  • The Android Studio Profilers display real time usage statistics for CPU, memory, network, and energy.
  • We added support for native memory sampling. Now you can better understand where your memory is going and how to optimize your game for a broader reach of devices.
gif demonstrating how AGDE integrates with a standalone version of Android Studio Profilers.

Integrations

We know everyone has a unique build setup and there is no “one-size-fits-all” solution. That is why we are investing in making AGDE compatible with various tools commonly used by game developers.

  • We partnered with Epic Games to integrate with Unreal Engine (UE 4.26.1+) to provide a seamless Android experience for Unreal Engine game developers.
  • We are working with Sony Distributed Build System (SN-DBS) to enable SN-DBS users to leverage the power of distributed builds for Android with AGDE (coming soon)
  • AGDE is compatible with Incredibuild, a distributed build tool.

Getting started

Download AGDE 2021.1 and see our documentation for additional details. To help you get to know AGDE quickly, we put together a few samples that demonstrate different ways you can use AGDE to configure your project.

Visual Studio IntelliSense features are compatible with AGDE. All current Android CPU architectures are supported: both ARM and Intel in 32-bit and 64-bit.

We appreciate any feedback on things you like, and issues or features you would like to see. If you find a bug or issue, feel free to file an issue. Learn more about Android game development, and follow us -- the Android Studio development team ‐ on Twitter and on Medium.

Microsoft and Visual Studio are trademarks of the Microsoft group of companies.