Author Archives: Android Developers

Improve your app mileage with Android for Cars App library

Posted by Madan Ankapura, Product Manager

In April, we announced our first version of the Android for Cars App Library as part of Jetpack, reaching a milestone to let developers publish their navigation, parking, charging apps on the Google Play Store.

Today, we’re announcing that version 1.1 is in alpha, which brings the following features to developers:

  • Sign-in template - Allows users to sign in to your app directly from the car screen while parked.
  • Long Message template - Allows you to show long messages like terms of service to users as part of the setup flow while parked.
  • Multiple-length text - Different car screen sizes may show different amounts of text. We added an API you can use to specify multiple variants of a text string in select templates to fit different screen sizes.
  • Map Interactivity - You can now add capabilities such as zooming and panning to your navigation template.
Android for Cars App library

For the entire list of changes, 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.

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.

Build sophisticated search features with AppSearch

Posted by Dan Saadati, Software Engineer, and Hanaa ElAzizi, Technical Program Manager

Introducing AppSearch in Jetpack, now available in Alpha. AppSearch is an on-device search library which provides high performance and feature-rich full-text search functionality.

With AppSearch, your application can:

  • Offer offline search capabilities as AppSearch data lives completely on-device.
  • Have lower latency for indexing and querying over large data sets compared to SQLite, due to lower I/O use.
  • Provide relevant search results with built-in scoring strategies, such as BM25F.
  • Provide multi-language support for text search.
  • Issue a single query to retrieve data of multiple data types compared to issuing one query per data type in SQLite.

In AppSearch, you need to create a database to manage structured data, called “documents”. You then define what the structure looks like using “schema types”. For instance, you can model a message as a schema type with properties such as subject, body, and sender.

Documents that are added to your database can be queried over. Querying for “body:fruit” will retrieve all documents with the term “fruit” in the “body” of the Message.

Diagram illustrating the indexing of grocery list items in AppSearch, and searching for those items later

Diagram illustrating indexing and searching within AppSearch

To showcase how an application might integrate AppSearch, take this example of a grocery list application. Users can add grocery items to their list to refer to when they’re out shopping. Since AppSearch offers multi-language support by default, users can also include specialty ingredients for their global recipes. Users add an item by typing in the name and selecting the store and category it belongs to. The user can search by item name and select filters for store or category. AppSearch will return matching results for the application to display.

Ready to dive into using AppSearch to enrich your app’s search functionality? Check out the AppSearch guide and start using it in your app.

Help us make the library better: give us 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.

Android 12 Beta 2 Update

Posted by Dave Burke, VP of Engineering

Android 12 logo

Just a few weeks ago at Google I/O we unwrapped the first beta of Android 12, focusing on a new UI that adapts to you, improved performance, and privacy and security at the core. For developers, Android 12 gives you better tools to build delightful experiences for people on phones, laptops, tablets, wearables, TVs, and cars.

Today we’re releasing the second Beta of Android 12 for you to try. Beta 2 adds new privacy features like the Privacy Dashboard and continues our work of refining the release.

End-to-end there’s a lot for developers in Android 12 - from the redesigned UI and app widgets, to rich haptics, improved video and image quality, privacy features like approximate location, and much more. For a quick look at related Google I/O sessions, see Android 12 at Google I/O later in the post.

You can get Beta 2 today on your Pixel device by enrolling here for over-the-air updates, and if you previously enrolled for Beta 1, you’ll automatically get today’s update. Android 12 Beta is also available on select devices from several of our partners - learn more at android.com/beta.

Visit the Android 12 developer site for details on how to get started.

What’s new in Beta 2?

Beta 2 includes several of the new privacy features we talked about at Google I/O, as well as various feature updates to improve functionality, stability, and performance. Here are a few highlights.

Privacy Dashboard - We’ve added a Privacy Dashboard to give users better visibility over the data that apps are accessing. The dashboard offers a simple and clear timeline view of all recent app accesses to microphone, camera, and location. Users can also request details from an app on why it has accessed sensitive data, and developers can provide this information in an activity by handling a new system intent, ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD. We recommend that apps take advantage of this intent to proactively help users understand accesses in the given time period. To help you track these accesses in your code and any third-party libraries, we recommend using the Data Auditing APIs. More here.

Privacy Dashboard and location access gif

Privacy dashboard and location access timeline.

Mic and camera indicators - We’ve added indicators to the status bar to let users know when apps are using the device camera or microphone. Users can go to Quick Settings to see which apps are accessing their camera or microphone data and manage permissions if needed. For developers, we recommend reviewing your app’s uses of the microphone and camera and removing any that users would not expect. More here.

Microphone & camera toggles - We’ve added Quick Settings toggles on supported devices that make it easy for users to instantly disable app access to the microphone and camera. When the toggles are turned off, an app accessing these sensors will receive blank camera and audio feeds, and the system handles notifying the user to enable access to use the app’s features. Developers can use a new API, SensorPrivacyManager, to check whether toggles are supported on the device. The microphone and camera controls apply to all apps regardless of their platform targeting. More here.

Clipboard read notification - To give users more transparency on when apps are reading from the clipboard, Android 12 now displays a toast at the bottom of the screen each time an app calls getPrimaryClip(). Android won’t show the toast if the clipboard was copied from the same app. We recommend minimizing your app’s reads from the clipboard, and making sure that you only access the clipboard when it will be expected by users. More here.

More intuitive connectivity experience - To help users understand and manage their network connections better, we’re introducing a simpler and more intuitive connectivity experience across the Status Bar, Quick Settings, and Settings. The new Internet Panel helps users switch between their Internet providers and troubleshoot network connectivity issues more easily. Let us know what you think!

Quick Settings controls

New Internet controls through Quick Settings.

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

Android 12 at Google I/O

At Google I/O we talked about everything that’s new in Android for developers - from Android 12 to Modern Android Development tools, new form factors like Wear and foldables, and Google Play. Here are the top 3 things to know about Android 12 at Google I/O.

#1 A new UI for Android - Android 12 brings the biggest design change in Android's history. We rethought the entire experience, from the colors to the shapes, light and motion, making Android 12 more expressive, dynamic, and personal, under a single design language called Material You.

#2 Performance - With Android 12, we made significant and deep investments in performance, from foundational system performance and battery life to foreground service changes, media quality and performance, and new tools to optimize apps.

#3 Privacy and security - In Android 12 we’re continuing to give users more transparency and control while keeping their devices and data secure.

For an overview of Android 12 for developers, watch this year’s What's new in Android talk, and check out Top 12 tips to get ready for Android 12 for an overview of where to test your app for compatibility. The full list of Android content at Google I/O is here.

App compatibility

With more early-adopter users and developers getting Android 12 beta on Pixel and other devices, now is the time to make sure your apps are ready!

To test your app for compatibility, 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. There’s no need to change your app’s targetSdkVersion at this time, so when you’ve resolved any issues, publish an update as soon as possible for your Android 12 Beta users.

timeline for Android 12

With Beta 2, Android 12 is closing in on Platform Stability in August 2021. Starting then, app-facing system behaviors, SDK/NDK APIs, and non-SDK lists will be finalized. At that time, you should finish up your final compatibility testing and release a fully compatible version of your app, SDK, or library. More on the 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 2 on devices from some of our top device-maker partners like Sharp. 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 2 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 @ Google I/O: Recapping building across devices

Posted by The Android Team

At Google I/O this year, we talked about how your app can take advantage of Android's different screens, both large and small. But if you missed the show, here are the top things you should know:

Tablets, Foldables, and Large Screens

It's more important than ever to design your app to work well on large screens — including tablets, foldables, and Chrome OS laptops. There are already over 250 million large screen Android devices in use today. Meanwhile, new foldable devices are making it easier for users to multitask, and opening up new experiences like tabletop mode for hands-free activities. See this example of Disney+ using tabletop mode on the Samsung Galaxy Z Fold2.

foldables image

Fortunately, it's also easier than ever to design apps which seamlessly scale to adapt to any device size — including dynamically resizing on Chrome OS and foldable devices, taking advantage of Jetpack Compose or ConstraintLayout to build responsive layouts. We also studied how people interact with large screens, like where their fingers are placed, and we’re giving you APIs and Tools to make that experience easier:

We’ve also made updates to the Android platform, Chrome OS, and Jetpack WindowManager, so apps just work better by default. For example, many UI elements now have default Max Width values to make sure they look better on large screens, while changes to the Display API ensure that existing apps continue to render correctly on foldables even if they aren't using WindowManager to query window metrics.

Learn more about how we are helping you build for large screens with these I/O sessions:

For even more details, check out the what's new in foldables, tablets, and large screens article, or read the case study on how Google Duo sees increased engagement and improved ratings.

Wear OS

We announced our biggest update yet to the Wear platform, with new features, APIs and tools to help developers create beautiful, high quality wearable experiences.

There are new Jetpack APIs to help you streamline your development. The Tiles library gives users fast, predictable access to the information and actions they rely on most. Another notable addition is the Ongoing Activities API, which enables you to let your users return to your app after they’ve navigated away (to start some other task such as music playback). Both of these libraries are currently in alpha.

We also released a new set of APIs for health and fitness that act as an intermediary to the sensors and related algorithms on the device to provide apps with high-quality data related to activity, exercise, and health. The alpha of the Health Services platform is available to use today.

Download Android Studio Arctic Fox Beta to try out a developer preview of the new Wear system image and start preparing your apps for the new platform. Check out the I/O sessions below to learn more about these announcements:

You can also read more details on the latest changes to Wear, as well as learn about how Spotify is building on Wear.

Android TV

Android TV OS now has over 80 million monthly active devices, with 80% growth in the US and is at the heart of the Google TV experience launched last fall. Meanwhile, Google TV itself can be found on streaming devices like the Chromecast with Google TV, smart TVs from Sony, and as an app on Android devices — including tablets.

This year at I/O, we announced several new tools and features to make developing for Android TV OS easier:

  • Cast Connect with Stream Transfer allows moving existing audio and video streams between cast devices, while Stream Expansion allows playing audio on multiple devices simultaneously.
  • We are now making our first Google TV Emulator available alongside the Android TV emulator, both running on Android 11.
  • Firebase Test Lab is adding Android TV support, letting you test your app in the cloud across hundreds or thousands of virtual devices. Physical Devices will be coming soon.
  • We are making the Android 12 Beta 1 available for TV on ADT-3 today.

These releases make it easier to build and test applications across a range of device configurations, while bringing the latest Android 12, Googler Assistant, and Cast features to the TV. To learn more, watch the What's new in Android TV and Google TV session from I/O.

Android for Cars

Android Auto allows applications to connect with the infotainment displays built into many modern vehicles. To make this even easier we recently made the Android for Cars App Library available as part of Jetpack. This library allows navigation, EV charging, and parking apps to integrate directly with compatible cars.

We plan to expand to more app categories in the future, so if you’re expressing interest in bringing your app to Android Auto please fill out this interest form. You can also get started with the Android for Cars App Library today, by visiting g.co/androidforcars. Watch the What’s new with Android for Cars session from I/O for even more detail, or the accompanying What's new with Android for Cars blog post.

Grow your indie game with help from Google Play

Posted by Patricia Correa, Director, Global Developer Marketing

Indie game image

At Google Play we’re committed to helping all developers thrive, whether these are large multinational companies or small startups and indie game studios. They are all critical to providing the services and experiences that people around the world look for on their Android devices. The indie game developer community, in particular, constantly pushes the boundaries with their creativity and passion, and bring unique and diverse content to players everywhere.

To continue supporting indies, today we’re opening submissions for two of our annual developer programs - the Indie Games Accelerator and the Indie Games Festival. These programs are designed to help small games studios grow on Google Play, no matter what stage they are in:

  • If you are a small games studio looking for help to launch a new title, apply for the Accelerator to get mentorship and education;
  • Or, if you have already created and launched a high quality game that is ready for the spotlight, enter the Festival for a chance to win promotions.

This year the programs come with some changes, including more eligible markets and fully digital event experiences. Learn more below and apply by July 1st.

Accelerator: Get education and mentorship to supercharge your growth

If you’re an indie developer, early in your journey - either close to launching a new game or recently launched a title, this is the program for you. We’ll provide education and mentorship that will help you build, launch and grow successfully.

This year we have nearly doubled the eligible markets, with developers from over 70 countries being eligible to apply for the 2021 program.

Selected participants will be invited to take part in a 12-week online acceleration program. During this time you’ll get exclusive access to a community of Google and industry experts, as well as a network of other passionate developers from around the world looking to supercharge their growth.

Festival: win promotions that put your game in the spotlight

If you're an indie game developer who has recently launched a high quality game, this is your chance to have your game discovered by industry experts and players worldwide.

This year we will, again, host three competitions for developers from Japan, South Korea, and selected European countries.

Prizes include features on Google Play store, promotional campaigns worth 100,000 EUR, and more.

#AndroidDevJourney spotlight – May edition

Posted by Luli Perkins, Developer Relations Program Manager

Android Dev Journey, 5 Developers featured in May

The May edition of #AndroidDevJourney spotlights five Android developers from around the world and each of their own unique experiences. In January we started the #AndroidDevJourney series to highlight members of the Android developer community on our Twitter account. As we reach the end of our six month journey, be sure to check out all the great developers we’ve featured on Twitter. 


Mada Aflak profile feature photo

Mada Aflak

Tell me about your journey to becoming an Android Developer and how you got started.

My journey in becoming an Android Developer started in 2015, during my final year of engineering school in Paris. My friends and I created a startup that allows you to easily create social events. As an Android user, my mission was to create an Android app. The experience made me excited to build apps, brainstorm products, engage with users; understand metrics and the process of innovation.

Initially, learning to code in Android was a tool to help reach my goal: to create a product that would be used by the largest audience possible. My passion to develop on Android, however, gave me the patience and perseverance needed to self-improve and become an expert. I realized the key to success is consistency: that step-by-step progress allows big achievements.

Although I entered the Android field by chance, I feel very grateful to have specialized in a technology which allows me to reach the huge Android marketplace, with an incredibly diverse user base. I believe when you love working on products, specifically in B2C business, being a client software engineer is very appealing. You’re in a unique position where you can interact with customers, as well as product, design, backend, and data scientists.

After receiving my Master's, I took intensive Java training and worked at a chic software consultant engineering company, in the famous avenue Les Champs & Elysee. Whilst I learned a lot from this experience, I wanted to give entrepreneurship another shot so I left Paris for San Francisco and opened a startup called Tribe, with friends. Tribe consisted of 10 talented French entrepreneurs aiming to re-invent the video chat messaging app. This is where I started to specialize in live video streaming technology and - more precisely - WebRTC.

Tribe gathered thousands of upvotes on Product Hunt and was awarded several times by worldwide institutions including Google and Time, and also featured in various international publications such as TechCrunch, Business Insider, and more! Our hard work and determination led us to be backed by Sequoia and Kleiner Perkins Capital. This experience was utterly unique: we all were working and living in the same house with a common goal to create an everlasting impact! With this experience, I learned the power of collective intelligence; that people will go far in learning how to work with each other.

After three years of entrepreneurship, we made the hard decision to discontinue Tribe and I decided to return to Europe. During this time, Twitter contacted me for my skills in live video streaming technology. As my passion for social science, politics and economy was growing, Twitter interested me greatly as it’s the only social media platform that enables public conversation; its main focus is to highlight and discuss what’s happening in the world. Considering myself a “citizen of the word”, I found that its purpose resonated strongly with me: a global inclusive platform, where everyone has a voice. What I love the most about working at Twitter is that Twitter has a unique position by being relatively small as a company, but has a huge impact on society.

My Twitter journey began working on a live video streaming product on Periscope, called Hydra. After sunsetting Periscope, my team began to wonder what to do with the live streaming publishing pipeline technology that we built. We then partook in a brainstorm session, concluding that audio was an under-used and under-valued media that could enhance and drive Twitter’s public conversation.

We started small with one developer on each platform, reaping the benefits of being a small team that could iterate and move fast. Today, the team has vastly expanded and I am proudly operating as the Android Space Tech Lead. Twitter Space has now become one of the company's top priorities: we have only just started to witness the powerful impact of live audio, with a social media network set to drastically change social behavior.

What’s one shortcut, tip, or hack you can’t live without?

Learning how to use Android Studio property is a must! There are many hidden tools in Android Studio that can help developer velocity.

What's the one piece of advice you wish someone would have given you when you started on your journey?

1- Learn English fluently

2- Don’t be afraid to make mistakes

3- Work on something you love!

Lin Guo developer profile feature photo

Lin Guo

Tell me about your journey to becoming an Android Developer and how you got started.

That was a story from a long time ago. I was learning Java when I got into college in 2008. One day in 2010, I was just browsing the Internet as usual, and found a course talking about how to learn Android development. That was the first time I heard about Android. It was a brand-new mobile system for me, besides, Java just happened to be the designated programming language for it. I was very interested at that time, and made a decision to get onboard.

Now I am an Android GDE and work for Microsoft where I continue my Android development journey. I also published a book in 2014 which is the best-selling Android programming book in China. I feel so fortunate to have made that decision in 2010.

What’s one shortcut, tip, or hack you can’t live without?

I really do have one. Use Ctrl+W to expand selection in Android Studio.

gif of Ctrl+W in use

This is absolutely my favorite one. I often have some conditions where I need to copy some part of code to somewhere else. Dragging to select is the last thing I want to do. With Ctrl+W, I can always select the part of the code just as I wanted quickly and conveniently. Thanks to Google and JetBrains.

What's the one piece of advice you wish someone would have given you when you started on your journey?

I joined the Microsoft Edge mobile team recently. It is an Android project, but most of the code was written in C++. I was struggling with it at first, because I had never written C++ code before.

Now, I have started learning C++ programming from scratch. It is still a happy journey to learn something new. But I wish someone would have given me this advice when I started with Android: C++ is also an important part of Android development.

Anita Singh developer profile feature photo

Anita Singh

Tell me about your journey to becoming an Android Developer and how you got started.

I started my career after university in Silicon Valley as a Java backend engineer and was curious about mobile, and wanted to give it a try. At my first job, I was working at Intuit on Mint and asked the mobile PM if I could help out with either the iOS or Android app.

At the time I was an iOS user so I was leaning towards iOS, but upon research I saw that Android was dominating in the global market. Since I already knew Java, the barrier of entry was lower.

I then joined the Mint mobile team and learned Android development on the job, converted to being an Android user and never looked back :-). Since then I’ve led both Android and cross-functional teams, and enjoy collaborating across functions to deliver great mobile experiences to users.

What’s one shortcut, tip, or hack you can’t live without?

The “Design View” in Android Studio where I can quickly see what screens look like in night mode, landscape, and small devices while developing screens, helps save time.

In the Compose world, Interactive Mode and Deploy Preview are quite handy in quickly iterating over them as well. I am looking forward to performance improvements here.

A second tip would be to use the Accessibility Scanner to help identify accessibility improvements. This is another great tool that can give you quick wins!

What's the one piece of advice you wish someone would have given you when you started on your journey?

To lean into the Android community. I relied solely on Android documentation to learn when I started, and didn’t know about the supportive community and content that surrounds it until later!

Reading blog posts, watching/giving talks, and connecting with other developers accelerated my learning, and I can’t recommend it enough.

Marion Hayoun developer profile feature photo

Marion Hayoun

Tell me about your journey to becoming an Android Developer and how you got started.

My Android journey began with a G1, the very first commercialized Android smartphone. It had a built-in keyboard, a joystick and hard buttons, to me it was amazing. At the time I was still in engineering school and hadn't even developed in Java yet but I had the opportunity to help organize meetups with the Paris Android User Group.

That’s how I started to meet people and saw what they were trying to build. Everyone I met at the time was really open minded and I wanted to be a part of this community and contribute to this platform by building beautiful apps too.

I started my professional journey back in 2012 and had the opportunity to work for editors and in agencies too. Today I’m working at Dashlane and I’m still organizing events with the Paris Android User Group :)

What’s one shortcut, tip, or hack you can’t live without?

I used to mostly rely on Find Usage ⌥F7 to navigate code base, but then I started using Go to Implementation ⌥⌘B. It is really *really* helpful to jump to any interface's implementation right away. It is a "more advanced" shortcut, but it is one that will make navigating a codebase with composition, contract, multi-modules, etc. really smooth. Especially when an interface and implementation can be far apart in the file hierarchies.

What's the one piece of advice you wish someone would have given you when you started on your journey?

Find what works for you to keep learning. Huyen Tue Dao gave an amazing talk with a lot of advice on this, check it out here. She covered talks, to podcasts, articles, newsletters, Twitter, community, sketchnotes, and more. She shared a lot of ways to stay up to date and gave us the honest truth: you just can't keep up with everything ^^ So find what best fits you and your lifestyle to keep improving and learning.

There will always be highs and lows in your career; knowing people who will support you is why you may be able to overcome challenges in the long run. And that is why, I would recommend you to take a look at your local developer community. Those are perfect spots to learn, share what you learn, and meet people who understand what you're doing. It’s perfect to gain knowledge, take a step back, share advice and experiences, and support each other. We're human first and foremost, and most solutions are human too.

Gonzalo Serrano developer profile feature photo

Gonzalo Serrano

Tell me about your journey to becoming an Android Developer and how you got started.

My path to becoming an Android developer started my senior year of high school when I Googled “What do you need to do to be a computer programmer?” We had a class assignment about researching a career. I had always been interested in coding. As a kid, I played way too many video games and wanted to learn how they worked. Then, when I got into high school, I started teaching myself to code from reading blogs.

I grew up poor in East Los Angeles and went to a school that had little money with very little access to quality technology. I didn’t know anyone else who was coding, but the Internet said to be a developer, you needed to go to college and get a bachelor’s degree. So I went and studied computer science, learning C++, JavaScript, Java, and other languages.

In 2014, I went to a panel at my community college and met AnnMaria, a co-founder of 7 Generation Games, where we develop educational games aimed at closing the math gap, especially within Latino and Indigenous communities. I applied for an internship, because I wanted to be part of making software for good. Initially, we were just making games for computers or to run on the web. But as technology evolved and we expanded to mobile, it was really important that we were developing for Android because those are the primary devices people are using in many of the communities we’re in. Because of my background, developing for Android was especially important to me because I know how valuable quality and accessible technology is for students. In 2016, I offered to take the lead on our first Android project, a game - now a series - called Making Camp. I downloaded Android Studio, cracked open the documentation and got to work.

When I graduated with my bachelor’s in 2018, I joined 7 Generation Games full-time. I am now our lead Android developer and just put our 10th app into Google Play.

What’s one shortcut, tip, or hack you can’t live without?

On Android, I primarily work in WebView. When trying to execute JavaScript code on the WebView from outside the page, it is easily facilitated by passing a string in Java with the code you want to execute. But the reverse is less common. My hack for this is if you want the app to react to JavaScript code, you have to create an event to catch the error returned from the page, then parse the string for what you wanted to do and react outside the WebView with that information.

What's the one piece of advice you wish someone would have given you when you started on your journey?

Don't be afraid to ask questions. Don't think everyone knows more than you because they don't. That said, the most useful piece of advice I was given was to read documentation. It might seem simple, but I’ve been surprised by how often people don’t. That’s advice I would give to anyone starting out.



The Android Developer community prides itself in its inclusivity and welcomes developers from all backgrounds and stages of life. If you’re feeling inspired and want to learn more about how to become a part of our community, here are a few resources to help get you started.

Dive into developer.android.com

Follow us on Twitter

Subscribe to our YouTube channel

GDG logo

The Google Developer Groups program gives developers the opportunity to meet local developers with similar interests in technology. A GDG meetup event includes talks on a wide range of technical topics where you can learn new skills through hands-on workshops.

Join a chapter near you here.

Women Techmakers logo

Founded in 2014, Google’s Women Techmakers is dedicated to helping all women thrive in tech through community, visibility and resources. With a member base of over 100,000 women developers, we’re working with communities across the globe to build a world where all women can thrive in tech.

Become a member here.

GD Experts logo

The Google Developers Experts program is a global network of highly experienced technology experts, influencers and thought leaders who actively support developers, companies and tech communities by speaking at events, publishing content, and building innovative apps. Experts actively contribute to and support the developer and startup ecosystems around the world, helping them build and launch highly innovative apps.

Learn more about the program here.


Java is a registered trademark of Oracle and/or its affiliates.

Introducing Security By Design

Posted by Jon Markoff, Staff Developer Advocate & Sean Smith, Technical Program Manager

Android header graphic

As a developer, are you struggling to figure out when to build security threat protection into your roadmap? Integrating security into your app development lifecycle can save a lot of time, money, and risk. That’s why we’ve launched Security by Design on Google Play Academy to help developers identify, mitigate, and proactively protect against security threats.

The Android ecosystem, including Google Play, has many built-in security features that help protect developers and users. The course Introduction to app security best practices takes these protections one step further by helping you take advantage of additional security features to build into your app. For example, Jetpack Security helps developers properly encrypt their data at rest and provides only safe and well known algorithms for encrypting Files and SharedPreferences. Are you concerned about using Rooted or compromised devices that may allow a bad actor to use your app in a non-sanctioned way? The SafetyNet Attestation API is a solution to help identify potentially dangerous patterns in usage. There are several common design vulnerabilities that are important to look out for, including using shared or improper file storage, using insecure protocols, unprotected components such as Activities, and more. The course also provides methods to test your application, to keep apps safe in the wild after launch. Finally, you can set up a Vulnerability Disclosure Program (VDP) to engage security researchers to help.

In the next course, you can learn how to integrate security at every stage of the development process by adopting the Security Development Lifecycle. The SDL is an industry standard process and in this course you’ll learn the fundamentals of setting up a program, getting executive sponsorship and integration into your development lifecycle.

secruity development lifecycle graphic

Threat modeling is part of the Security Development Lifecycle, in this course you will learn to think like an attacker to identify, categorize, and address threats. By doing so early in the design phase of development, you can identify potential threats and start planning for how to mitigate them at much lower cost and create a more secure product for your users.

Secruity design graphic

Improving your app’s security is a never ending process. Sign up for the Security by Design module where in a few short courses, you will learn how to integrate security into your app development lifecycle, model potential threats, and app security best practices into your app, as well as avoid potential design pitfalls.

Android @ Google I/O: 3 things to know in Modern Android Development

Posted by The Modern Android Development Team

This year’s Google I/O brought lots of updates for Modern Android Development. Here are the top 3 things you should know:

#1: Lots of new Jetpack library releases!

In recent months, several Jetpack libraries reached stable, beta or were just launched in alpha. Here are some the highlights:

To find out more about what’s new, check out the What’s new in Jetpack, What’s new in Compose and for a deep dive into Macrobenchmark: Measuring Jank and Startup with Macrobenchmark.

#2: Inspectors in Android Studio

Debugging your application becomes easier with all the inspectors provided by Android Studio Arctic Fox: for background work, like understanding what’s the status of your WorkManager workers, use Background Task Inspector; for UI use Layout Inspector, for both Android Views and Compose; for database debugging use Database Inspector.

To see the inspectors in action, check out What’s new in Android development tools.

#3: New features in Kotlin

We keep improving Kotlin on Android at all levels, from tools to APIs, and giving you different ways to learn. Kotlin Symbol Processing (KSP), now in alpha, provides a simplified compiler plugin API that can run up to 2 times faster than KAPT. Together with JetBrains, we’re addressing performance issues in the IDE and we’re seeing up to 20x faster auto-import suggestions. We added StateFlow support to DataBinding and new APIs for observing Flows in the UI without DataBinding. To learn about all the improvements we’ve made for Kotlin, check out the State of Kotlin on Android talk:

You can find all of this year’s Google I/O talks covering Modern Android Development in this playlist:

Join us for Google for Games Developer Summit 2021

Posted by Greg Hartrell, Head of Product Management, Games on Android & Google Play

Google for Games Dev Summit header

With a surge of new gamers and an increase in time spent playing games in the last year, it’s more important than ever for game developers to delight and engage players. To help developers with this opportunity, the games teams at Google are back to announce the return of the Google for Games Developer Summit 2021 on July 12th-13th.

Hear from experts across Google about new game solutions they’re building to make it easier for you to continue creating great games, connecting with players, and scaling your business. Registration is free and open to all game developers.

Register for the free online event at g.co/gamedevsummit to get more details in the coming weeks. We can’t wait to share our latest innovations with the developer community.

Android Studio Arctic Fox (2020.3.1) Beta

Posted by Paris Hsu, Product & Design, Android

Android Studio Arctic Fox splash screen

Android Studio Arctic Fox splash screen

Note: As we announced late last year, we've changed our version numbering scheme to match the number for the IntelliJ IDE that Android Studio is based on, 2020.3, plus our own patch number, as well as a handy code name to make it easier to remember and refer to. We'll be using code names in alphabetical order; the first is Arctic Fox, now in beta, and the next is Bumblebee, now in canary.

Today, we are excited to unveil Android Studio Arctic Fox (2020.3.1) Beta ❄️?: the latest release of the official Android IDE focuses on Design, Devices, and Developer Productivity. It is available for download now on the beta channel for you to try out all the new features launched this week during Google I/O 2021!

Inspired by developer communities around the world, who despite having to adjust to challenges this past year still continue to create amazing and innovative apps, we have delivered and updated the suite of tools to empower three major themes:

  • Rapid UI design - with Jetpack Compose, it's never been easier to create modern UIs, and we have tools to help complete that journey: you can create previews in different configurations and navigate your code with Compose Preview, test it in isolation with Deploy Preview to Device, and inspect the full app with Layout inspector. Throughout iterations, you can quickly edit strings and numbers and see immediate updates. Moreover, with the Accessibility Scanner in Layout Editor, your View based layouts are audited for accessibility problems.
  • New devices, both large and small - reimagine and extend your app beyond phones--whether it's for Wear OS, Google TV, or Android Auto, we have prepared new emulators and system images, and even authentic simulations for different testing scenarios: pair your watch and phone emulators with Wear OS Pairing, take a virtual run with Wear OS heart rate sensors, switch channels with GoogleTV Remote Control, and drive with Automotive OS Sensor Replay.
  • Developer productivity boost - we want to ensure your workspace and environment are ready for the latest systems and optimized for speed and quality. Now you can enjoy a whole slew of new features and improvements that come with a major update to Intellij 2020.3, test your app with what Android 12 has to offer, improve your app performance with the updated UI for Memory Profiler, understand background task relationships with WorkManager Inspector, and use Non-Transitive R classes IDE Refactoring to increase build speed.

In short, this is an upgrade you do not want to miss! ✨ There are many more features and improvements surrounding these themes you can find in this Beta version, so read or watch below for further highlights. Or, skip the reading, download Android Studio Arctic Fox (2020.3.1) Beta in the beta channel and try out the latest features yourselves today! Give us feedback and help us to continue to focus on the areas you care about most in the next version of Android Studio.

What's new in Android development tools (I/O 2021)


What’s in Android Studio Arctic Fox (2020.3.1) Beta

Below is a full list of new features in Android Studio Arctic Fox (2020.3.1) Beta, organized by the three major themes:

Design

  • Compose Preview - You can create previews of your Compose UI with Compose Preview! By using the @Preview annotation, Compose previews can be made to visualize multiple components at once in different configurations (i.e themes, device) as well as create a mental mapping for you to navigate your code.
Compose Preview

Compose Preview

  • Layout Inspector for Compose - You can now inspect layouts written in Compose with Layout Inspector. Whether your app uses layouts fully written in Compose or layouts that use a hybrid of Compose and Views, the Layout Inspector helps you understand how your layouts are rendered on your running device or emulator, obtain rich details (such as parameters and modifiers passed to each composable), and debug issues that might arise. As you interact with the app, you now also have the option to either enable Live Updates to constantly stream data from your device, or reduce performance impact on your device by disabling live updates and clicking the Refresh action as needed.
Compose Layout Inspector

Compose Layout Inspector

  • Deploy Preview to Device - Use this feature to deploy a snippet of your UI to a device or emulator. This will help to test small parts of your code in the device without having to start the full application. Your preview will benefit the same context (permissions, resources) as your application. You can click the Deploy to device icon on the top of any Compose preview or next to the @Preview annotation in the code editor gutter and Android Studio will deploy that @Preview to your connected device or emulator.
Using Deploy to device from preview and gutter icon

Using Deploy to device from preview and gutter icon

  • Live Edit of literals - Live Editing of literals allows developers using Compose to quickly edit literals (strings, numbers, booleans) in their code and see the results immediately without needing to wait for compilation. The goal of the feature is to increase your productivity by having code changes appear near instantaneously in the previews, emulator, or physical device.
Editing numbers and strings update immediately in the preview and on device

Editing numbers and strings update immediately in the preview and on device

  • Accessibility Scanner for Layout Editor - Android Studio now integrates with the Android Accessibility Test Framework to help you find accessibility issues in your layouts. When using the Layout Editor, click on the error report button to launch the panel. The tool will report accessibility related issues and also offers suggested fixes for some common problems (e.g. missing content descriptions, or low contrast)
Accessibility Test Framework Scanner in Layout Editor

Accessibility Test Framework Scanner in Layout Editor

Devices

  • Wear OS Pairing - We created a new Wear OS pairing assistant to guide developers step by step through pairing Wear OS emulators with physical or virtual phones directly in Android Studio! You can start by going to device dropdown > Wear OS emulator pairing assistant. Note that this will currently pair with Wear OS 2 companion, and Wear OS 3 will be coming soon. Learn more.
Wear OS emulator pairing assistant dialog

Wear OS emulator pairing assistant dialog

Phone + Watch emulators paired successful state

Phone + Watch emulators paired successful state

  • New Wear OS system images - a developer preview of the Wear OS 3 system image is now available so that you can use and play with the newest version of Wear OS!
Wear OS system image

Wear OS system image

  • Heart Rate Sensor for Wear OS Emulators - To help you test your Wear OS apps, the Android Emulator now has support for the Heart Rate Sensor API when you run the Wear OS emulator. Make sure you are running at least Android Emulator v30.4.5 downloaded via the Android Studio SDK Manager
Heart Rate Sensor for Wear OS Emulators

Heart Rate Sensor for Wear OS Emulators

  • Google TV Remote Control - On top of running the new Google TV UI, we now have an updated Remote control panel, which has mapping for the new Google TV remote controls features like: user profile, and settings.
Google TV remote controls

Google TV remote controls

  • New Google TV system images - We have updated the system images to reflect the new Google TV experience allowing you to freely explore the UI.
Google TV system image

Google TV system image

  • Automotive OS Sensor Replay - You can now use the Android Automotive emulator to simulate driving scenarios, with the ability to replay car sensor data (e.g. speed, gear), completing your development and testing workflow.
Android Automotive OS Sensor replay

Android Automotive OS Sensor replay

Developer Productivity

  • IntelliJ Platform Update - Android Studio Arctic Fox (2020.3.1) Beta includes the IntelliJ 2020.3 platform release ?, which has many new features such as Debugger interactive hints, new Welcome screen, and a ton of new code editor enhancements to speed up your workflow. Learn more.
  • Android 12 lint checks - We’ve added lint checks that are specific to building your app for Android 12 so that you can get guidance in context. To name a few -- we have built checks for custom declarations of splash screens, coarse location permission for fine location usage, media formats, and high sensor sampling rate permission.
  • Non-transitive R classes Refactoring - Using non-transitive R classes with the Android Gradle Plugin can lead to faster builds for applications with multiple modules. It prevents resource duplication by ensuring that each module only contains references to its own resources, without pulling references from dependencies. You can access this feature by going to Refactor > Migrate to Non-transitive R Classes.
  • Apple Silicon Support Preview - For those using MacOS on Apple Silicon (arm64) hardware, Android Studio Arctic Fox provides preview support for this new architecture.  The arm64 platform support is still under active development, but we wanted to provide you a release order to get your feedback. Since this is a preview release for the arm64 architecture, you will have to separately download this version from the Android Studio download archive page and look for Mac (Apple Silicon).
  • Extended controls in the Emulator tool window - Developers now have access to all extended emulator controls when the emulator is opened in a tool window. The extended controls will give developers powerful tools for testing their apps such as navigation playback, virtual sensors, and snapshots all within Android studio. To launch the Emulator within Android Studio go to Android Studio's Preferences > Tools > Emulator and select “Launch in a tool window."
Extended controls in the Emulator tool window

Extended controls in the Emulator tool window

  • Background Task Inspector - You can now utilize the Background Task Inspector to visualize, monitor, and debug your app's background workers when using WorkManager library 2.5.0 or higher. You can access it by going to View > Tool Windows > App Inspection from the menu bar. When you deploy an app on a device running API level 26 and higher, you should see active workers in the Background Task Inspector tab, as shown below. Learn more.
Background Task Inspector

Background Task Inspector

  • Parallel device testing with Test Matrix - Instrumentation tests can now be run across multiple devices in parallel and investigated using a new specialized instrumentation test results panel, called the Test Matrix, which streams the test results in real time. Learn more
Test matrix running tests across multiple devices in parallel

Test matrix running tests across multiple devices in parallel

  • Memory Profiler new recording UI - We have consolidated the Memory Profiler UI for different recording activities, such as capturing a heap dump and recording Java, Kotlin, and native memory allocations.
Memory Profiler: recorded Java / Kotlin Allocations

Memory Profiler: recorded Java / Kotlin Allocations

  • Updated system requirements - In order to ensure that we provide the best experience for Android developers, we are updating the system requirements when using Android Studio. These requirements also represent the configurations we use to thoroughly test Android Studio to maintain high quality and performance, and we plan to update them more frequently going forward. So, while you’re still able to use systems that fall below the requirements, we can’t guarantee compatibility or support when doing so. You can see the updated system requirements on the official developer site.

To recap, Android Studio Arctic Fox (2020.3.1) Beta includes these new enhancements & features:

Design

  • Compose Preview
  • Compose Layout Inspector
  • Deploy Preview to Device
  • Live Edit of literals
  • Accessibility Scanner in Layout Editor

Devices

  • Wear OS Pairing
  • Heart Rate Sensor
  • New Wear OS system images
  • Google TV Remote Control
  • Google TV system Images
  • Automotive OS Sensor Replay

Productivity

  • Intellij 2020.3.1
  • Android 12 lint checks
  • Non-transitive R classes Refactoring
  • Apple Silicon Support Preview
  • Android Emulator Extended Controls
  • Background Task Inspector
  • Test matrix
  • Memory Profiler new recording UI

You might also have seen other new features at I/O which are not included in the list above; they are included in Android Studio (2021.1.1) Bumblebee Canary since these features were not quite ready for a beta channel release:

Design

  • Interactive Compose preview
  • Compose Animation preview
  • Preview Configuration Picker
  • Animated vector drawable preview
  • Compose Blueprint Mode
  • Compose Constraints Preview for ConstraintLayout

Devices

  • Automotive OS USB Passthrough - Coming soon
  • Automotive OS Rotary Controls - Coming soon

Productivity

  • Kotlin Coroutines debugger
  • Device Manager
  • Gradle Instrumented Test Runner Integration in Android Studio
  • Gradle Managed Devices

Sessions at Google I/O 2021

With this exciting release, the Android Studio team also presented a series of sessions about Android Studio. Watch the following videos to see the latest features in action and to get tips & tricks on how to use Android Studio ?:


Getting Started

Android Studio Arctic Fox (2020.3.1) is a big release, and now is a good time to download and check out the Beta release to incorporate the new features into your workflow. The beta release is near stable release quality, but as with any beta release, bugs may still exist, so, if you do find an issue, let us know so we can work to fix it. If you’re already using Android Studio, you can check for updates on the Beta channel from the navigation menu (Help > Check for Update [Windows/Linux] , Android Studio > Check for Updates [OS X]). When you update to beta, you will get access to the new version of Android Studio and Android Emulator.

As always, we appreciate any feedback on things you like, and issues or features you would like to see. If you find a bug or issue, please file an issue. Follow us -- the Android Studio development team -- on Twitter and on Medium.