28 May 2016


Nexus owners may soon get unlimited backup for original quality content using Google Photos

Google is preparing to roll out version 1.21 of Google Photos, which may be a big update for some according to sources. When we say that the next version of Google Photos will be major, we don't mean just new features. The next version of Google Photos may give Nexus owners an added perk, an […]

Come comment on this article: Nexus owners may soon get unlimited backup for original quality content using Google Photos

Visit TalkAndroid

28 May 2016 11:27pm GMT

Sony US shows off the Xperia X series in new videos

Earlier this month, Sony introduced three Xperia models that together make up the Xperia X series. The series consists of the Xperia X, Xperia XA and Xperia X Performance. Each is shown off independently of one another in a collection of new videos the company posted to YouTube. Sony's Xperia X smartphone collection will be […]

Come comment on this article: Sony US shows off the Xperia X series in new videos

Visit TalkAndroid

28 May 2016 10:49pm GMT

Jawbone sells fitness tracker inventory to avoid losses

Producer of fitness tracker, Jawbone, may soon be no more. According to sources who spoke with Tech Insider, the company sold the last of its inventory to a retailer and has shut down production. Jawbone's existing fitness trackers, UP2, UP3, and UP4, have been slow to sell according to sources. This was probably due to the tough competition […]

Come comment on this article: Jawbone sells fitness tracker inventory to avoid losses

Visit TalkAndroid

28 May 2016 12:00pm GMT

ZTE is entering the retail store space with several stores in China

Hot on the heels of the ZTE Axon 7 and a companion VR headset, the Chinese-based company has announced that they'll be expanding into retail stores in a handful of countries. That news actually sounds a little better than it really is, because out of 23 stores, 20 will be based in Chinese cities with […]

Come comment on this article: ZTE is entering the retail store space with several stores in China

Visit TalkAndroid

28 May 2016 2:43am GMT

27 May 2016


[TA Deals] Get iFixit’s 64-Bit Driver Kit for just $35

Are you someone who needs to take their device in for repairs quite often? Well, worry not! Now you can repair all of your mobile devices by yourself with iFixit's 64-Bit Driver Kit over on Talk Android Deals! This kit will give you the tools you need to take about just any electronic gadget apart, whether […]

Come comment on this article: [TA Deals] Get iFixit's 64-Bit Driver Kit for just $35

Visit TalkAndroid

27 May 2016 7:30pm GMT

Talk Android Podcast: Episode 8

Listen to the eighth episode of the Talk Android Podcast. It'll stream live on YouTube at 4:00PM ET on May 27. In Episode 8 (5/27/16), we discuss the following topics: Hangouts existing alongside Allo Pebble returns to Kickstarter with three products Google stopping production of the Nexus 9, Nexus Player Samsung's Gear VR appears to be getting a […]

Come comment on this article: Talk Android Podcast: Episode 8

Visit TalkAndroid

27 May 2016 7:00pm GMT

[Deal] Purchase an Honor 5X for 20% off at Newegg

For a limited time, you can grab a brand new Honor 5X for just $160 at retailer Newegg. We've seen Huawei discount its Honor 5X in some way before, whether that be reducing its price of throwing in freebies. However, this is the largest discount we've seen in USD currency. Full retail price of the […]

Come comment on this article: [Deal] Purchase an Honor 5X for 20% off at Newegg

Visit TalkAndroid

27 May 2016 5:47pm GMT

Google says VR fans should hold their upgrade till the fall

Many have been wondering if Google's Daydream virtual reality platform could be used on existing Android smartphones. Google has answered suggesting you wait to upgrade. According to Google, Daydream combines both hardware and software to create the best virtual reality experience one can get. Google said they'll grant very few smartphones the 'Daydream Ready,' qualification, meaning […]

Come comment on this article: Google says VR fans should hold their upgrade till the fall

Visit TalkAndroid

27 May 2016 5:22pm GMT

Skype 7.0 update expands material design to better support tablets

Skype has released an update to their Android client taking it to version 7.0. The primary change in this update is better support for tablet devices to take advantage of the additional screen real estate. Users will also benefit from improvements to the processes used for adding contacts to Skype. Skype implemented Google's material design […]

Come comment on this article: Skype 7.0 update expands material design to better support tablets

Visit TalkAndroid

27 May 2016 4:47pm GMT

Samsung shows off 4K screens for virtual reality displays

4K displays in a virtual reality headset might happen sooner than you think. Samsung has shown off an ultra HD screen that's intended to be used in VR applications, which should offer a considerable bump in quality and pixels over what we're using in headsets right now. The display itself was a 5.5-inch screen with […]

Come comment on this article: Samsung shows off 4K screens for virtual reality displays

Visit TalkAndroid

27 May 2016 2:30pm GMT

20 May 2016

feedAndroid Developers Blog

And the winners of the Google Play Awards are…

Posted by Purnima Kochikar, Director, Apps and Games Business Development, Google Play

During a special ceremony last tonight at Google I/O, we honored ten apps and games for their outstanding achievements as part of the inaugural Google Play Awards.

As we shared onstage, when you look at how Google Play has evolved over the years, it's pretty amazing. We're now reaching over 1 billion users every month and there's literally something for everyone. From real-time multiplayer to beautiful Indie games, industry changing startups to innovative uses of mobile technology, developers like you continue to push the boundaries of what apps can do.

Congrats to the following developers in each category!

20 May 2016 2:15pm GMT

19 May 2016

feedAndroid Developers Blog

Android Studio 2.2 Preview - New UI Designer & Constraint Layout

By Jamal Eason, Product Manager, Android

This week at Google I/O 2016 we launched Android Studio 2.2 Preview. This release is a large update that builds upon our focus to create a fast and productive integrated development environment (IDE) for Android. Developed in sync with the Android platform, Android Studio allows you to develop with the latest Android APIs and features. Since launching Android Studio at Google I/O just 3 years ago, we received great feedback from on you on what features you want the most. Today 92% of the top 125 apps & game developers on Google Play, plus millions of developers worldwide, use Android Studio. We want to continue to build features that will continue to make you more efficient when developing for Android and more productive.
Android Studio 2.2 Preview includes a portfolio of new features along the spectrum of developments, ranging from designing user interfaces to building and debugging your app in new ways. This preview includes the following new categories of features:
  • Layout Editor: A new user interface designer that helps you visually design the layouts in your app. Features like blueprint mode and the new properties panel allow you to quickly edit layouts and widgets faster.
  • Constraint Layout: A new powerful and flexible Android layout that allows you to express complex UIs without nesting multiple layouts.
  • Layout Inspector: Debug a snapshot of your app layout running on the Android Emulator or device. Inspect the view hierarchy and corresponding attributes.

  • Firebase Plugin: Explore and integrate the suite of services offered by Firebase inside of Android Studio. Adding services like Analytics, Authentication, Notifications, and AdMob are just a few clicks away.
  • Enhanced Code Analysis: Android Studio checks the quality of your Android app code. In addition to 260 Android lint and code inspections, this release includes new code quality checks for Java 8 language usage and a new inspection infrastructure for more cross-file analysis.
  • Samples Browser: Referencing Android sample code is now even easier. Within the code editor window, find occurrences of your app code snippets in Google Android sample code to help jump start your app development.
  • Improved C++ Support: Android Studio 2.2 improves C++ development with the ability to edit, build, and debug pre-existing Android projects that use ndk-build or CMake rather than Gradle. Additionally, the existing lldb C++ debugger is now even better with project type auto-detection and a Java language aware C++ mode that lets you use a single debugger process to inspect both Java language and C++ runtimes.
  • IntelliJ 2016.1: Android Studio 2.2 includes all the latest updates from the underlying JetBrains product platforms IntelliJ.

  • Jack Compiler Improvements: For those using the new Jack compiler, Android Studio 2.2 adds support for annotation processing, as well as incremental builds for reduced build times.
  • Merged Manifest Viewer: Diagnose how your AndroidManifest.xml merges with your app dependences across your project build variants.

  • Espresso Test Recorder: Record Espresso UI tests simply by using your app as a normal user. As you click through your app UI, reusable and editable test code is then generated for you. You can run the generated tests locally, in your Continuous Integration environment, or in Firebase Test lab.
  • APK Analyzer: Drill into your APK to help you reduce your APK size, debug 64K method limit issues, view contents of Dex files and more.

Google I/O '16: What's New in Android Development Tools

Deeper Dive into the New Features

  • Layout Editor: Android Studio 2.2 features a new user interface designer. There are many enhancements but some of the highlights include:
    • Drag-and-drop widgets from the palette to the design surface or the component tree view of your app.
    • Design surface has a blueprint mode to inspect the spacing and arrangement of your layout.
    • Properties panel now shows a curated set of properties for quick widget edits with a full sheet of advanced properties one click away.
    • UI builder can edit menu and system preference files.
The new Layout Editor in Android Studio 2.2 Preview
Edit Menus in the new Layout Editor

  • Constraint Layout: This new layout is a flexible layout manager for your app that allows you to create dynamic user interfaces without nesting multiple layouts. It is distributed as a support library that is tightly coupled with Android Studio and backwards compatible to API Level 9.
At first glance, Constraint Layout is similar to RelativeLayout. However, the Constraint Layout was designed to be used in Studio and it can efficiently express your app design so that you rely on fewer layouts like LinearLayout, FrameLayout, TableLayout, or GridLayout. Lastly, with the built-in automatic constraints inference engine. You can freely design your UI to your liking and let Android Studio do the hard work.

To help you get started, the built-in templates in the New Project Wizard in Android Studio 2.2 Preview now generate a Constraint Layout. Alternately, you can right click on any layout in the new Layout Editor and select the Convert to ConstraintLayout option.

This is an early preview of the UI designer and Constraint Layout, and we will rapidly add enchantments in upcoming releases. Learn more on the Android Studio tools site.

Constraint Layout

Start Layout Inspector
  • Layout Inspector: For new and existing layouts, many times you may want to debug your app UI to determine if your layout is rendering as expected. With the new Layout Inspector, you can drill into the view hierarchy of your app and analyze the attributes of each component of UI on the screen.
To use the tool, just click on Layout Inspector Icon in the Android Monitor Window, and then Android Studio creates a snapshot of the current view hierarchy of your app for you to inspect.
Layout Inspector

  • Firebase Plugin: Firebase is the new suite of developers services that can help you develop high-quality apps, grow your user base, and earn more money. Inside of Android Studio, you can add Firebase to a new or existing Android app with the new Assistant window. To access the Firebase features click on the Tools menu and then select Firebase. You will want to first setup the brand new Firebase Analytics as the foundation as you explore other Firebase services like Firebase Cloud Messaging or Firease Crash Reporting to add your application. Learn more about the Firebase integration inside Android Studio here.

Firebase Plugin for Android Studio
  • Code Sample Browser: In addition to importing Android Samples, the Code Sample Browser is a menu option inside Android Studio 2.2 Preview that allows you to find high-quality, Google-provided Android code samples based on the currently highlighted symbol in your project. To use the feature, highlight a Variables, Types and Methods in your code then Right Click to show a context menu for Find Sample Code. The results are displayed in a bottom output box.
Code Sample Browser
  • CMake and NDK-Build: For those of you using the Android NDK, Android Studio now supports building CMake and NDK-Build Android app projects by pointing Gradle at your existing build files. Once you've added your cmake or ndk-build project to Gradle, Android Studio will automatically open your relevant Android code files for editing and debugging in Studio.

For CMake users, just add the path to your CMList.txt file in the externalNativeBuild section of your Gradle file:
CMake Build in Android Studio

For NDK-Build Users, just add the path to your *.mk file in the section of your Gradle file:
NDK-Build in Android Studio

  • Improved Jack Tools: The new Jack Toolchain compiles your Java language source into Android dex bytecode. The Jack compiler allows some Java 8 language features, like lambdas, to be used on all versions of Android. This release adds incremental build and full support for annotation processing, so you can explore using Java 8 language features in your existing projects.
To use incremental build with Jack add the following to your build.gradle file:

Enable Jack Incremental Compile Option
Jack will automatically apply annotations processors in your classpath. To use an annotation processor at compile-time without bundling it in your apk, use the new annotationProcessor dependency scope:
Enable Jack Annotation Processing
  • Merged Manifest Viewer: Figuring out how your AndroidManifest merges with your project dependencies based on build types, flavors and variants is now easier with Android Studio. Navigate to your AndroidManifest.xml and click on the new Merged Manifest bottom tab. Explore how each node of your AndroidManifest resolves with various project dependencies.
Merged Manifest Viewer

  • Espresso Test Recorder: Sometimes writing UI tests can be tedious. With the Record Espresso UI tests feature, creating tests is now as easy as just using your app. Android Studio will capture all your UI interactions and convert them into a fully reusable Espresso Test that you can run locally or even on Firebase Test lab. To use the recorder, go to the Run menu and select Record Espresso Test.

Espresso Test Recorder

  • APK Analyzer: The new APK Analyzer helps you understand the contents and the sizes of different components in your APK. You can also use it to avoid 64K referenced method limit issues with your Dex files, diagnose ProGuard configuration issues, view merged AndroidManifest.xml file, and inspect the compiled resources file (resources.arsc). This can help you reduce your APK size and ensure your APK contains exactly the things you expect.
The APK Analyzer shows you both the raw file size as well as the download size of various components in your APK. The download size is the estimated size users need to download when the APK is served from Google Play. This information should help you prioritize where to focus in your size reduction efforts.

To use this new feature, click on the Build menu and select Analyze APK… Then, select any APK that you want to analyze.

APK Analyzer

  • Java-aware C++ Debugger: When debugging C++ code on targets running N and above, you can now use a single, Java language aware lldb instance. This debugger continues to support great lldb features like fast steps and memory watchpoints while also allowing you to stop on Java language breakpoints and view your Java language memory contents.

  • Auto Debugger Selection: Android Studio apps can now use debugger type "Auto." This will automatically enable the appropriate debugger -- the Java language aware C++ debugger if enabled and otherwise the hybrid debugger for C++ projects. Projects exclusively using the Java language will continue to use the Java language debugger.

Enable Auto Debugger for C++

What's Next


If you are using a previous version of Android Studio, you can check for updates on the Canary channel from the navigation menu (Help → Check for Update [Windows/Linux] , Android Studio → Check for Updates [OS X]). This update will download a new version, and not patch your existing copy of Android Studio. You can also download Android Studio 2.2 Preview from canary release site.

For the Android Studio 2.2 Preview, we recommend you run a stable version alongside the new canary. Check out the tools site on how to run two versions at the same time.

We appreciate any feedback on things you like, issues or features you would like to see. Connect with us -- the Android Studio development team -- on our Google+ page or on Twitter.

19 May 2016 10:00pm GMT

Bring Your Android App to Chromebooks

Posted by Dylan Reid and Elijah Taylor, Software Engineers, Chrome OS

Users love Chromebooks for their speed, security and simplicity. According to IDC1, in Q1 of this year Chromebook shipments overtook Macs in the U.S. That means, thanks to your support, in the U.S. Chrome OS is now the second most popular PC operating system. As we continue to increase our focus on mobility, we want to make sure your apps are easily available on this new form factor, reaching the many Chrome devices while maintaining a great experience.

Today we announced that we're adding Android apps to Chromebooks, which means users will be able to install the apps they know and love. Later this year you can expand your app's reach to a new hardware platform and wider audience while maximizing the Google Play ecosystem. With expanded app availability, new use cases and improved workflows can be achieved for all Chromebook users, whether for personal use, for work or for education. As a developer we encourage you to test your app as described here.

Developers can start to optimize their app for the Chromebook form factor in advance of launch later in 2016. Here are some of the benefits:
  • Android Apps can be shown in 3 different window sizes to allow the best experience
  • Users can multi-task with multiple Android apps in moveable windows along with a full desktop browser, all within the familiar Chrome OS interface.
  • Keyboard, mouse, and touch input will seamlessly work together
  • Users will get Android notifications on their Chromebooks
  • Android apps benefit from the Wifi or Bluetooth connectivity setup by the user or the administrator
  • File sharing is seamless between Chrome and Android apps through the Files app
  • Performance of demanding apps such as games or design apps is excellent
In addition to being a great personal device, one of the reasons Chromebooks are popular in schools and businesses is that you can centrally manage and configure them with 200+ policies. Administrators can manage Android apps on Chromebooks using the same Admin Console. In addition to whitelisting or push installing specific apps to users, admins can selectively enable them for parts of their organization while disabling in others.

Please come to our Google I/O session on May 19th at 4 pm. You will hear directly from our friendly engineers on how to optimize your Android app for Chromebooks. We are making the feature available in early June on Asus Chromebook Flip, Chromebook Pixel (2015) and Acer Chromebook R11 specifically for developers to have sufficient time to test their apps. For the actual launch and thereafter we will keep adding support for the following list of devices. Please see detailed instructions on how to get started with testing your apps.

1 - IDC's Worldwide Quarterly PC Tracker, May 2016

19 May 2016 5:50pm GMT

18 May 2016

feedAndroid Developers Blog

Google Play services 9.0 updates

Posted by Laurence Moroney, Developer Advocate

It's been a little while since we made a release of Google Play services, because we've been busy integrating Firebase. While Firebase will contain the SDKs you've come to know and love for building mobile applications that run cross platform, we'll also continue to ship Google Play services updates with new SDKs regularly. Firebase was built using Google Play services 9.0, so let's dig a little deeper into some of the new and cool APIs that are available in this release.


If you build apps that monetize with ads, we've added a lot of updates since 8.4. There's a new Initialization method that publishers can use to kick off the SDK at app start. There's also a new native ads format: Native Ads Express. With Native Ads Express, publishers can define CSS templates for their ad units that define fonts, colors, positioning, and other style information. AdMob combines these with advertiser assets like headlines and calls to action to make a finished ad, which is displayed in a NativeExpressAdView. Moving the work of customizing presentation off the device means there's less mobile code required, plus it's possible to update templates without redeploying the app.


We're continuing to update BLE beacon scanning in Nearby Messages. Any app with ACCESS_FINE_LOCATION will be able to scan for beacons via Nearby without any additional permissions. We recommend developers check to see if the app has the location permission prior to calling GoogleApiClient.connect(). Get started here.

For peer-to-peer Nearby Messages, there's now an option to show the opt-in dialog upon connection to the GoogleApiClient which significantly reduces boilerplate for obtaining the Nearby permission.

Player Stats API

We're also continuing to update the Play Games Client SDK with improvements to the Player Stat API and the public launch of the video recording API. The Player Stats API now has Predictive Analytics to help you identify which groups of players are likely to spend or churn, and we are adding new predictions for how much a player is likely to spend within 28 days and the probability that a player is a high spender. This allows you to tailor experiences for these players to try to increase their spend or engagement. Learn more about the Player Stats API.

Video recording API

You will be able to easily add video recording to your app and let users share their videos with their friends and on YouTube in a few simple steps. In the coming months, we are also adding live streaming functionality to allow your fans to broadcast their gameplay experiences in real time on YouTube.

That's it for this release of Google Play services 9.0 -- we're continuing to ship new APIs all the time so watch this blog for future announcements.

18 May 2016 7:48pm GMT

Enhancing Android Pay APIs

Posted by Pali Bhat, Senior Director, Product Management

Today, we're enhancing our APIs, making it easier than ever for the developer community to integrate with Android Pay. With just a few lines of code, you can enable quick and seamless checkout to help increase purchase conversions and ongoing engagement.

Improve conversions within apps

We've been working with popular apps such as Airbnb, Yelp Eat24, Kickstarter, TicketMaster, Uber and many others to bring the ease of speedy checkouts to apps. We also want to make the same great in-app experience available to all developers, big or small. So we're taking a few steps:

  • Earlier today, we announced Android Instant Apps, which gives users the ability to pay using Android Pay with a single tap, without the friction of getting a user to install the app to complete their transaction.

Example of Android Pay in Android Instant Apps

  • We're opening the Android Pay API to all developers selling physical goods and services in markets where Android Pay is available-just sign up at developers.google.com/android-pay/
  • We've teamed up with payment processors globally so developers can integrate Android Pay with their Android apps in just a few hours.

Enhance mobile web payments

Many users continue to make purchases on mobile sites. But buying something from a website on your phone can be clumsy and cumbersome, which results in much lower conversion rates on mobile sites than on desktop sites.

To make painful web checkout forms a thing of the past, we will be launching PaymentRequest, a brand new web API that we are developing together with Chrome and standardizing across browsers through W3C. Android Pay will be part of this API to allow users to pay on mobile websites as they do in-store and in-app.

Example of Android Pay in PaymentRequest
Drive deeper engagement

Thanks for all the great feedback on our Save to Android Pay API since launch. You spoke and we've listened: We think you'll be thrilled with the latest improvements to the Save to Android Pay API. The following enhancements help developers build stronger loyalty and engagement with new and existing customers:

  • Enable users to add offers, loyalty cards and gift cards in the Android Pay app with the tap of a button. Simply add a deep link to an email, SMS message, push notification or within an app and you're all set.
  • Enroll new customers into a loyalty program in a variety of ways with the new simplified sign-up feature. Customers can sign-up either in store via a NFC tap or through a sign-up page linked from an Android Pay transaction notification.

Example sign-up feature for Walgreens Balance Reward®
via Save to Android Pay from transaction notification
We believe that mobile payments can make for a better, more secure shopping experience - so we're in this together for the long haul. We're building a robust Android Pay ecosystem, one that's open and scalable, to enable developers to drive mobile payments - and their businesses - forward. We're very excited for the road ahead and we hope you are too.

To learn more about Android Pay and share your feedback, visit our developer pages.

18 May 2016 7:48pm GMT

What’s new in Google Play at I/O 2016: better betas, the pre-launch report, benchmarks, a new Play Console app, and more

Posted by Purnima Kochikar, Director, Google Play Apps & Games

Google Play reaches over 1 billion monthly active users giving developers the world's largest app distribution platform. Last year, Play users installed apps 65 billion times. To keep that great momentum going, we're continuing to listen to your feedback and invest in more ways to help you grow your app or game business. Today, we're sharing new features that benefit developers of all sizes.

Improvements to beta tests and app discovery on Google Play

Beta testing is a crucial tool that many developers use in the Google Play Developer Console to test their apps with real users, gather feedback, and make improvements before launching widely. Open beta tests are helpful to get feedback from a large group of users and allow any user to join a beta test. We're making open beta tests easier to find and participate in: apps that are available only as open betas and aren't in production yet will soon appear in Play search results, users will be able to opt-in from Play store listings directly, and users will be able to send you private feedback through your Play store listing too.

We'll also be adding a new featured section to the store, called Google Play Early Access, showcasing a hand-picked group of promising open betas that haven't gone to production yet.

There are more than a million apps available on Google Play and we continue to work on making it easy for people to discover the apps they'll love. To that end, you'll start seeing new collections on the store for tasks that might require a combination of apps. For example, when you're buying a house, you'll see the best apps for finding real estate, keeping notes, getting a mortgage, and travelling in the area in one handy collection. Developers don't need to take any action to take advantage of this benefit, apps will automatically be chosen. These contextual collections make it easier for users to discover complimentary apps as well as new types of apps.
Users can now opt-in to beta tests from the Play Store
An example of a new collection for apps relating to buying a house
Improve your app with the Play pre-launch report

Your app business relies on having high quality apps. To achieve quality, your apps need to be tested on a range of real devices before you ship them to your users. Play's new pre-launch report summarizes issues found when testing your app on Firebase Test Lab for Android on a wide range of devices.

The pre-launch report in the Developer Console
Along with diagnostics to help you fix any crashes we detected in your app, your reports will also include screenshots from devices that use different Android versions, languages, and screen resolutions. These can help you find layout issues. We've also included early warnings of known security vulnerabilities that may have sneaked into your app -- even via third party libraries you rely on. You can enable the pre-launch report in the Developer Console.

Gain deeper insights from user reviews at a glance and reply to user reviews more easily

Your app reviews offer a wealth of information on what your users like and dislike about your app. We're expanding on the improvements we made to ratings and reviews earlier this year, to offer you more ways to take advantage of reviews and better engage your audience.

Review benchmarks let you see your app's rating distribution compared to similar apps in your category for a list of common topics which are relevant for all apps - like design, stability, and speed. You are also able to see how each area impacts your app's rating. Review topics will let you see your app's rating distribution for a list of topics which are specific to your app. With this analysis functionality, you can more easily identify what users think of your app and where to focus your improvement efforts.

Review benchmarks in the Developer Console
Developers frequently tell us they find replying to reviews valuable as a channel to directly engage their audience and gather feedback. In fact, we have found that users who update their star rating after a developer has responded to their review increase it by an average of 0.7 stars. For developers who have their own customer support solutions, we're making replying easier with a new Reply to Reviews API. In the last few months, we've tested the API with Zendesk and Conversocial, so you can now start replying to reviews directly from those popular platforms or build your own custom integration.

Developers can now reply to reviews on Google Play from platorms such as Zendesk and Conversocial
Understand more about user acquisition and conversion, and see how you're doing compared to others

The User Acquisition performance report in the Developer Console gives you a snapshot of how many users visit your store listing, how many install your app, and how many go on to make purchases. We've now added the ability to see user acquisition data by country and you'll soon be able to see user acquisition benchmarks and compare your app's conversion rates to similar apps on the Play store. With this data, you can find opportunities to focus your marketing efforts and increase your installs with tools like Store Listing Experiments.

User acquisition country data in the Developer Console

Building apps and games for billions of users

Hundreds of millions of users, many of them in emerging markets, are coming online and, for many of them, their first experience is on an Android device.

To help you get your app ready for this opportunity, we've created Building for Billions guidelines with a development checklist to help you optimize your app. You can also get more in-depth tips and best practices for expanding to new markets in the accompanying Building for Billions Playbook.

To help you meet local expectations when you set your prices and make purchases more attractive to your users, the Developer Console will now automatically round prices to local conventions in each market. For example, for a US app priced at $1.99, a user in Japan would see ¥200 rather than a non-rounded price from a straight FX conversion. You can also set up pricing templates to change pricing for products in bulk. You can make this change in the Developer Console.

While you're working on getting your app ready for billions of users, we've been enhancing the Google Play experience for them too. With improved compression, we've made app updates more data efficient, and we're focusing on making the Play Store itself faster than ever on all connection types.

We've also revamped how we select visible apps in key markets like India and Brazil to better showcase apps that are more relevant locally and apps made by local developers. And we continue to add more payment methods in new countries, including carrier billing and gift cards in India and Indonesia.

Two new apps: Get your app data and important notifications on the go, and stay up to date with best practices

To give you access to your data when you need it, and to keep you informed of crucial business updates with notifications, we're launching the Play Console app. You can access your app's data including installs, uninstalls, crashes, ratings, and reviews. You can also receive push notifications for important news like when your app update is live on Google Play. And you can even reply to reviews directly in the app, making it easier and quicker to engage your audience when you want to. Get the Play Console app on Google Play today.

Staying on top of all the features and best practices and strategies you should consider when growing your business can be a challenge. We've built another app, the Playbook by Google Play. The Playbook is a tailored list, based on your objectives, of the latest articles and videos from Google experts and across the web to help you grow a successful business on Google Play. Join the Playbook beta today and let us know your feedback.
The Play Console app
Playbook by Google Play

Finally, we will be soon making some updates to the Developer Distribution Agreement (DDA), which includes the ability for family members to share purchased apps on Google Play. Here you can see the updated DDA.

To learn more about all of these features, tune-in live to 'What's new in Google Play for developers' at 11am PDT / 2pm EDT / 7:00pm GMT+1 on May 19 on the Google Developers YouTube channel.

If you're attending I/O, come and visit the Google Play sandbox to get your app reviewed by experts.

Whether you're attending I/O in person, at one of the many I/O Extended events around the world, or just watching from home, you can find more Google Play sessions in the I/O 2016 schedule.

18 May 2016 7:23pm GMT

What’s new in Android: the N-Release, Virtual Reality, Android Studio 2.2 and more

Posted by Dave Burke, VP of Engineering

In the past year, Android users around the globe have installed apps-built by developers like you-over 65 billion times on Google Play. To help developers continue to build amazing experiences on top of Android, today at Google I/O, we announced a number of new things we're doing with the platform, including the next Developer Preview of Android N, an extension of Android into virtual reality, an update to Android Studio, and much more!

Android N Developer Preview is available to try on a range of devices
Android N: Performance, Productivity and Security
With Android N, we want to achieve a new level of product excellence for Android, so we've carried out some pretty deep surgery to the platform, rewriting and redesigning some fundamental aspects of how the system works. For Android N, we are focused on three key themes: performance, productivity and security. The first Developer Preview introduced a brand new JIT compiler to improve software performance, make app installs faster, and take up less storage. The second N Developer Preview included Vulkan, a new 3D rendering API to help game developers deliver high performance graphics on mobile devices. Both previews also brought useful productivity improvements to Android, including Multi-Window support and Direct Reply.

Multi-Window mode on Android N
Android N also adds some important new features to help keep users safer and more secure. Inspired by how Chromebooks apply updates, we're introducing seamless updates, so that new Android devices built on N can install system updates in the background. This means that the next time a user powers up their device, new devices can automatically and seamlessly switch into the new updated system image.

Today's release of Android N Developer Preview 3 is our first beta-quality candidate, available to test on your primary phone or tablet. You can opt in to the Android Beta Program at android.com/beta and run Android N on your Nexus 6, 9, 5X, 6P, Nexus Player, Pixel C, and Android One (General Mobile 4G). By inviting more people to try this beta release, developers can expect to see an uptick in usage of your apps on N; if you've got an Android app, you should be testing how it works on N, and be watching for feedback from users.

VR Mode in Android
Android was built for today's multi-screen world; in fact, Android powers your phone, your tablet, the watch on your wrist, it even works in your car and in your living room, all the while helping you move seamlessly between each device. As we look to what's next, we believe your phone can be a really powerful new way to see the world and experience new content virtually, in a more immersive way; but, until this point, high quality mobile VR wasn't possible across the Android ecosystem. That's why we've worked at all levels of the Android stack in N-from how the operating system reads sensor data to how it sends pixels to the display-to make it especially built to provide high quality mobile VR experiences, with VR Mode in Android. There are a number of performance enhancements designed for developers, including single buffer rendering and access to an exclusive CPU core for VR apps. Within your apps, you can take advantage of smooth head-tracking and stereo notifications that work for VR. Most importantly, Android N provides for very low latency graphics; in fact, motion-to-photon latency on Nexus 6P running Developer Preview 3 is <20 ms, the speed necessary to establish immersion for the user to feel like they are actually in another place. We'll be covering all of the new VR updates tomorrow at 9AM PT in the VR at Google session, livestreamed from Google I/O.

Android Instant Apps: real apps, without the installation
We want to make it easier for users to discover and use your apps. So what if your app was just a tap away? What if users didn't have to install it at all? Today, we're introducing Android Instant Apps as part of our effort to evolve the way we think about apps. Whether someone discovers your app from search, social media, messaging or other deep links, they'll be able to experience a fast and powerful native Android app without needing to stop and install your app first or reauthenticate. Best of all, Android Instant Apps is compatible with all Android devices running Jellybean or higher (4.1+) with Google Play services. Android Instant Apps functionality is an upgrade to your existing Android app, not a new, separate app; you can sign-up to request early access to the documentation.

Android Wear 2.0: UI changes and standalone apps
This morning at Google I/O, we also announced the most significant Android Wear update since its launch two years ago: Android Wear 2.0. Based on what we've learned from users and developers, we're evolving the platform to improve key watch experiences: watch faces, messaging, and fitness. We're also making a number of UI changes and updating our design guidelines to make your apps more consistent, intuitive, and beautiful. With Android Wear 2.0, apps can be standalone and have direct network access to the cloud via a Bluetooth, Wi-Fi, or cellular connection. Since your app won't have to rely on the Data Layer APIs, it can continue to offer full functionality even if the paired phone is far away or turned off. You can read about all of the new features available in today's preview here.

Android Studio 2.2 Preview: a new layout designer, constraint layout, and much more
Android Studio is the quickest way to get up and running with Android N and all our new platform features. Today at Google I/O, we previewed Android Studio 2.2 - another big update to the IDE designed to help you code faster with smart new tooling features built in. One of the headline features is our rewritten layout designer with the new constraint layout. In addition to helping you get out of XML to do your layouts visually, the new tools help you easily design for Android's many great devices. Once you're happy with a layout, we do all the hard work to automatically calculate constraints for you, so your UIs will resize automatically on different screen sizes . Here's an overview of more of what's new in 2.2 Preview (we'll be diving into more detail this update at 10AM PT tomorrow in "What's new in Android Development Tools", livestreamed from Google I/O):

  • Speed: New layout designer and constraint layout, Espresso test recording and even faster builds
  • Smarts: APK analyzer, Layout inspector, expanded Android code analysis and IntelliJ 2016.1
  • Platform Support: Enhanced Jack compiler / Java 8 support, Expanded C++ support with CMake and NDK-Build, Firebase support and enhanced accessibility

New Layout Editor and Constraint Layout in Android Studio 2.2 Preview

This is just a small taste of some of the new updates for Android, announced today at Google I/O. There are more than 50 Android-related sessions over the next three days; if you're not able to join us in person, many of them will be livestreamed, and all of them will be posted to YouTube after we're done. We can't wait to see what you build!

18 May 2016 7:16pm GMT

Google I/O 2016: Develop, Grow & Earn

By Jason Titus, Vice President, Developer Product Group

Earlier today, we kicked off our 10-year celebration of hosting developer events with Google I/O in front of over 7,000 developers at Shoreline Amphitheatre, and with millions of other viewers on the I/O live stream around the world. During the keynote, we had a number of announcements that featured tools for Android, iOS, and mobile Web developers, showcased the power of machine learning for delivering better user experiences, and introduced a previewed platform for high quality, mobile virtual reality.

And over the next three days at the festival, we'll continue to focus on things that matter to you: Develop, to build high quality apps; Grow & Earn, to find high quality users, increase user engagement and create successful businesses; and What's Next, a look at new platforms for future growth.

Develop, Grow & Earn with Firebase

Those core themes are best represented in our launch of Firebase. As shared during the keynote, we've significantly expanded Firebase beyond a mobile backend to include brand new features, like mobile analytics, growth tools, and crash reporting. Firebase is now a suite of 15 features and integrations designed to help you develop your app, grow a user base and earn money. At the heart of the suite is a new mobile analytics tool we built from the ground up called Firebase Analytics. Available for free and unlimited usage, Firebase Analytics is inspired by our decade-long experience running Google Analytics, but designed specifically for the unique needs of apps.

Let's also take a closer look at the other major developer news at I/O:


  • Android N Developer Preview 3 - Get a look at the next release of Android N focused on performance, productivity and security. Even better, Android N is now ready to test on primary phones or tablets.
  • Android VR - A rework of the entire Android stack in N to tailor it to provide high quality mobile VR experiences.
  • Android Studio 2.2 Preview - Our new preview focuses on speed, smarts, and Android platform support. This major update includes a completely rewritten, feature-rich Layout Designer.
  • Android Wear 2.0: A developer preview of the biggest platform update since we launched Android Wear two years ago. It includes updated design guidelines and APIs that make the watch even more useful for watch faces, messaging, and fitness. Apps on the watch can now be standalone, with direct network access to the cloud.
  • Recording APIs: enables Android TV app developers and content providers to bring recording functionality to live channels.
  • Google Play services 9.0 - In addition to Firebase, the next release includes new API updates for Ads, Nearby and Play Games services.
  • Android Pay APIs - A new set of tools that includes support for mobile web, Instant Apps, Save to Android Pay and an API for issuers. We'll have more to share during the session "Android Pay everywhere: New developments" later today at 2:00 PM PT Stage 1 Hercules.
  • Progressive Web Apps - A new set of capabilities to build app-like mobile websites that work reliably on the worst network connections and can send notifications to re-engage users.
  • Credentials API - The latest version of Chrome now supports the Credential Management API, allowing sites to interact with the browser's credential manager to improve the sign in experience for users. The API enables users to sign in with one tap and lets them automatically sign back in when returning to the site.
  • Accelerated Mobile Pages - Check out the AMP project, an open source initiative that is helping publishers create mobile-optimized content once and have it load instantly everywhere.

Grow & Earn

  • Reach a global audience on Google Play - New and powerful tools to help you grow your business: discover and join beta tests from the Play Store (including a new Early Access section), discover collections of complementary apps to help users solve complex tasks, see how your app runs on real devices with a new pre-launch report, get insights and benchmarks for reviews and user acquisition, monitor your app stats and get notifications when your updates are live with the new Play Console app, and more.
  • Android Instant Apps - With Android Instant Apps, users can open your app simply by tapping on a link, even if they don't have the app installed. Instant Apps is compatible with Android Jelly Bean and later, reaching over a billion users. We're working with a small set of developers now, and we'll be gradually expanding access.
  • Building for billions - New resources to help you optimize your app and get your business ready to serve over a billion Android users around the world.
  • Universal App Campaigns - Last year, we introduced Universal App Campaigns as a simple and powerful way to surface apps to the billions of users across Google Play, Search, YouTube, and the Google Display Network. We're building on this success by expanding onto iOS and by helping developers use insights to optimize for lifetime value. See our new apps best practices.

What's Next

  • Awareness API: We'll be previewing a new, unified sensing platform that enables apps to be aware of all aspects of a user's context, while managing system health for you. Learn more at the "Introducing Awareness API: an easy way to make your apps context aware" session later today at 3:00 PM PT in Stage 5 Libra.
  • Daydream - We'll have more to share on how developers can start building Daydream apps during the "VR at Google" session tomorrow (May 19) at 9:00 AM PT in the Amphitheatre and livestreamed.
  • Chromebooks - Hear from the team firsthand what's new with Chromebooks tomorrow (May 19) at 11:00 AM PT in Stage 8 Crater.
  • The Mobile Web - We'll share what we're doing to improve the mobile web experience for developers and users tomorrow (May 19) at 2:00 PM PT in the Amphitheatre.

18 May 2016 7:08pm GMT

Android Wear 2.0 Developer Preview

Posted by David Singleton, VP of Engineering

Today at Google I/O, we announced the most significant Android Wear update since its launch two years ago: Android Wear 2.0. Based on what we've learned from users and developers, we're evolving the platform to improve key experiences on the watch, including watch faces, messaging, and fitness.

Android Wear 2.0 will be available to users this fall. We're making a Developer Preview available today and plan to release additional updates throughout the summer, so please send us your feedback early and often. Also, please keep in mind that this preview is a work in progress, and is not yet intended for daily use.

What's new?

Get started and give us feedback!

The Android Wear 2.0 Developer Preview includes an updated SDK with tools, and system images for testing on the official Android emulator, the LG Watch Urbane 2nd Edition LTE, and the Huawei Watch.
To get started, follow these steps:

  1. Take a video tour of the Android Wear 2.0 developer preview
  2. Update to Android Studio v2.1.1 or later
  3. Visit the Android Wear 2.0 Developer Preview site for downloads and documentation
  4. Get the emulator system images through the SDK Manager or download the device system images
  5. Test your app with your supported device or emulator
  6. Give us feedback

We will update this developer preview over the next few months based on your feedback. The sooner we hear from you, the more we can include in the final release, so don't be shy!

18 May 2016 7:03pm GMT

Introducing Android Instant Apps

Posted by Suresh Ganapathy, Product Manager

Developers have built amazing Android apps. They use your mobile device to the fullest, including the camera, GPS, and sensors to connect to the real world. They're beautiful and immersive, with Material Design and smooth animations running at 60 frames per second. They use access to identity and payments to create seamless experiences.

But developers tell us they wish they could bring users into their apps more quickly and easily. With the web, you can click on a link and land on a web page - it takes one click and just a few seconds. It should be easier for users to access a wider range of apps, and for developers to reach more people.

So, we asked ourselves: How do we make it possible for people to access a wider range of apps, seamlessly? How do we help developers reach more people? And how do we do that while giving developers access to the range of capabilities and experiences that Android apps provide?

Today we're sharing a preview of a new project that we think will change how people experience Android apps. We call it Android Instant Apps, and it evolves Android apps to be able to run instantly, without requiring installation. With Instant Apps, a tap on a URL can open right in an Android app, even if the user doesn't have that app installed.

As a developer, you won't need to build a new, separate app. It's the same Android APIs, the same project, the same source code. You'll simply update your existing Android app to take advantage of Instant Apps functionality. In fact, it can take less than a day to get up and running for some developers, though the effort involved will vary depending on how your app is structured. You modularize your app, and Google Play downloads only the parts that are needed, on the fly. And when you do upgrade, your app will be available to more than a billion users on Android devices going back to Jelly Bean.

This is a big change, so it's going to take some time. We've been working with a small set of partners to help refine the experience, including developers like BuzzFeed, B&H Photo, Medium, Hotel Tonight, Zumper and Disney. We'll be gradually expanding access for developers and bringing Instant Apps to users later this year.

B&H Photo
(via Google Search)
(via a shared link)
Park and Pay (example)
(via NFC)

If you're interested in learning more about Android Instant Apps, please check out the Android developers website, where you can sign up for updates as they become available. We can't wait to see what you build when your app is just a tap away.

18 May 2016 7:01pm GMT

17 May 2016

feedAndroid Developers Blog

Improving the Security and User Experience of your Google Sign In Implementation

Posted by Isabella Chen, Software Engineer

We launched a fully revamped Sign-In API with Google Play services 8.3 providing a much more streamlined user experience and enabling easy server authentication and authorization. We've heard from many developers that they've found these APIs simple and less error prone to use. But when we look at applications in the Play Store, we see many that are still using legacy Plus.API / GoogleAuthUtil.getToken and do not follow best practices for authentication and authorization. Not following best practices can make your apps easily vulnerable to attack.
It's also worth noting that developers who don't want to worry about managing the security implications of different API flows or keeping up to date with the latest APIs can use Firebase Authentication to manage the entire authentication lifecycle.

Ensuring your apps are secure

Developers should ensure that their apps are not open to the following vulnerabilities:
  • Email or user ID substitution attack After signing in with Google on Android, some apps directly send email or user ID in plain text to their backend server as the identity credential. These server endpoints enable a malicious attacker to easily forge a request and gain access to any user's account by guessing their email / user ID.
    Figure 1. Email / User ID Substitution Attack
    We see a number of developers implement this anti-pattern by using getAccountName or getId from the Plus.API and sending it to their backend.

    Problematic implementations, DO NOT COPY
  • Access token substitution attack After signing in with Google on Android, many apps send an access token obtained via GoogleAuthUtil.getToken to their backend server as the identity assertion. Access tokens are bearer tokens and backend servers cannot easily check if the token is issued to them. A malicious attacker can phish the user to sign-in on another application and use that different access token to forge a request to your backend.
    Figure 2. Access Token Substitution Attack
    Many developers implement this anti-pattern by using GoogleAuthUtil to retrieve an access token and sending it to their server to authenticate like in the following example:

    Problematic implementation, DO NOT COPY
  1. Many developers who have built the above anti-patterns into their apps simply call our tokenInfo (www.googleapis.com/oauth2/v3/tokeninfo) which is debug-only or unnecessarily call the G+ (www.googleapis.com/plus/v1/people/me) endpoint for user's profile information. These apps should instead implement our recommended ID token flow explained in this blog post. Check out migration guide to move to a both secure and efficient pattern.
  2. If your server needs access to other Google services, e.g. Drive, you should use server auth code flow. You can also check out this blogpost. Worth mentioning, you can also get an ID token using server auth code flow, from which you can retrieve user id / email / name / profile url without additional network call. Check out the migration guide.

Improving the user experience and performance of your apps

There are still many apps using GoogleAuthUtil for server auth and their users are losing out the improved user experience while the developers of those apps need to maintain a significantly more complicated implementation.
Here are some of the common problems that we see:

Requesting unnecessary permissions and displaying redundant user experience

Many apps request GET_ACCOUNTS permission and draw their own customized picker with all email addresses. After getting the email address, the app calls either GoogleAuthUtil or Plus.API to do OAuth consent for basic sign in. For those apps, users will see redundant user experience like:
Figure 3. GET_ACCOUNTS runtime permission and redundant user experience

The worst thing is the GET_ACCOUNTS permission. On Marshmallow and above, this permission is displayed to the user as 'Contacts'. Many users are unwilling to grant access to this runtime permission.


Switch to our new Auth.GOOGLE_SIGN_IN_API for a streamlined user consent experience by providing an intuitive one-tap interface to provide your app with the user's name, email address and profile picture. Your app receives an OAuth grant when the user selects an account, making it easier to sign the user in on other devices. Learn more

Figure 4. New streamlined, one-tap sign-in experience

Getting ID Token from GoogleAuthUtil for your backend

Before we released revamped Sign-In API, GoogleAuthUtil.getToken was the previously recommended way to retrieve an ID token via a "magic string."

Wrong pattern, DO NOT COPY

GoogleAuthUtil.getToken needs to take an email address, which usually leads to the undesirable user experience in Figure 3. Also, user's profile information like name, profile picture url is valuable information to store in your server. The ID token obtained via Auth.GOOGLE_SIGN_IN_API will contain profile information and your server won't need additional network calls to retrieve them.
Solution Switch to the ID token flow using the new Auth.GOOGLE_SIGN_IN_API and get the one-tap experience. You can also check out this blogpost and the migration guide for more details.

Getting auth code from GoogleAuthUtil for your backend

We once recommended using GoogleAuthUtil.getToken to retrieve a server auth code via another "magic string."

Wrong pattern, DO NOT COPY

In addition to the possible redundant user experience in Figure 3, another problem with this implementation was that if a user had signed in to your application in the past and then switched to a new device, they would likely see this confusing dialog:

Figure 5. Confusing consent dialog for returned user if using GoogleAuthUtil.getToken for auth code

To easily avoid this "Have offline access" consent dialog, you should switch to server auth code flow using the new Auth.GOOGLE_SIGN_IN_API . We will issue you an auth code silently for a previously signed-in user. You can also check out this blogpost and migration guide for more info.

Should I ever use GoogleAuthUtil.getToken?

In general, you should NOT use GoogleAuthUtil.getToken, unless you are making REST API call on Android client. Use Auth.GOOGLE_SIGN_IN_API instead. Whenever possible, use native Android API in Google Play services SDK. You can check out those APIs at Google APIs for Android.
And starting from Google Play services SDK 9.0, you will need to include -auth SDK split to use GoogleAuthUtil.getToken and related classes
dependencies { compile 'com.google.android.gms:play-services-auth:9.0.0' }

17 May 2016 11:52pm GMT

Building better mobile apps for work

Posted by Matt Goodridge - Google Play for Work Product Manager

Last year, we introduced Android for Work, a program designed to pair the strength of the Android platform with support from the rich ecosystem of OEMs (device manufacturers like Samsung), EMMs (Enterprise Mobility Managers) and carriers with the goal of transforming the workplace. This means that developers get the support they need to develop apps that configure to meet business needs without customization.

With Android for Work, developers have been able to build apps for business and make them available via Google Play for Work to all types of industries. No matter the place or use case, Android for Work has helped lead businesses to foster employee productivity and creativity through increased mobility.

Today we are announcing the Android for Work DevHub, a place for developers to keep up with Android in the workplace and engage fellow business app developers in an open forum. Android for Work DevHub members will receive access to Google Play for Work and Android for Work product betas and developer events and will have the opportunity to learn from Google experts on topics like how to:

Among the early members of the Android for Work DevHub is Keeper, a mobile-first company committed to securing corporate credentials and sensitive information. Darren Guccione, Keeper's CEO and co-founder, said: "Having our team be able to talk with Google experts as a part of the Android for Work DevHub has been very helpful in optimizing Keeper, as an essential product, for the workplace." In addition to Keeper, select developers across an array of industries are already represented in the Android for Work DevHub, and-starting today-any business developer can apply to become a member, too.

To learn more about Android for Work, join us at Google I/O Thursday, May 19th at 2pm on Stage 10 Cassiopeia. I'll be joined live on stage with James Kelly, product manager in Android for Work and Rich Hyndman, and Android developer advocate, to walk through the latest developments in Android for Work that will help you make awesome apps for businesses and to meet the Android for Work team in-person at our shop to see the Android for Work retail experience.

17 May 2016 3:58pm GMT

12 May 2016

feedAndroid Developers Blog

Designing for Multi-Window

Posted by Ian Lake, Developer Advocate

As a developer, there's a wide range of features added in Android N to take advantage of, but when it comes to designing and building your UI, having strong multi-window support should be at the forefront.

The primary mode that users will be interacting with multi-window is through split-screen mode, which is available on both handheld devices and larger tablets. In this mode, two apps split the available screen space and the user can drag the divider between the two split screens to resize the apps. As you might imagine, this mode offers some unique design challenges beyond what was needed previously.

An even more responsive UI

The lessons learned from previous versions of Android, the mobile web, and desktop environments still apply to Android N. Designing a responsive UI is still an important first step towards an amazing multi-window experience.

A responsive UI is one that adapts to the size provided, picking the best representation of the content and the appropriate navigation patterns to make a great user experience on any device. Check out the Building a Responsive UI blog post for details on how to design and build an effective responsive UI.

Adapting your layout

As you're designing layouts for the largest and smallest screens and everything in between, it is important to make resizing a smooth and seamless transition as mentioned in the split screen layout guidelines. If you already have a similar layout between mobile and tablet, you'll find much of your work taken care of for you.

However, if your mobile and tablet layouts are vastly different and there's no way to smoothly transition between the two, you should not transition between them when resizing. Instead, focus on making your tablet UI scale down using the same responsive UI patterns. This ensures that users do not have to relearn their UI when resizing your app.

Note that the minimalHeight and minimalWidth layout attributes allow you to set a minimum size you want reported to your Activity, but they do not mean the user cannot resize your activity smaller - it actually means that your activity will be cropped to the size the user requests, potentially forcing elements of your UI off the screen. Strive to support down to the minimum size of 220x220dp.

Design configurations to consider

While many of the sizes and aspect ratios possible in multi-window are similar to existing devices (1/3rd of a landscape tablet is similar to existing mobile devices in screen size), there are a few configurations that are much more common when considering multi-window.

The first is a 16x9 layout on mobile devices in portrait. In this case, the vertical space is extremely limited. If you have a number of fixed elements stacked on top of one another (a toolbar, scrolling content, and a bottom navigation bar), you might find there's not actually any room for the scrolling content - the most important part!

The second case to consider is the 34.15% layout on tablets. The very wide aspect ratio in device portrait or very tall aspect ratio in device landscape orientation are more extreme than what is found on existing devices. Consider using your mobile layouts as a starting point for this configuration.

Patterns to avoid

When it comes to multi-window, there are a few patterns you want to avoid entirely.

The first is UI interactions that rely on swiping from the edge of the screen. This has already been somewhat of an issue when it comes to the on screen navigation bar prominent on many devices (such as Nexus devices), but is even more so in split-screen mode. Since there is (purposefully) no way to determine if your activity is on the top or bottom or the left or the right, don't make edge swipes the only way to access functionality in your app. That doesn't mean you have to avoid them entirely - just make sure there is an alternative. A good example of this is the temporary navigation drawer - an edge swipe opens the drawer, but it is also accessible by pressing the hamburger icon in the toolbar.

The second is disabling multi-window entirely. While there are certainly cases where this makes sense (i.e., it is fundamentally an immersive experience such as a game), there are also cases where your activity and any Activities launched from that Activity are forced to support multi-window. As mentioned in the Preparing for Multi-Window blog post, when you support external apps launching your activity, your activity inherits the multi-window properties of the calling Activity.

Designing for Multi-Window is designing for every device

Building a responsive UI that reacts to the space available is critical to a great multi-window experience, but it is an exercise that can benefit all of your users across the wide variety of Android devices.

So use this as an opportunity to #BuildBetterApps

Follow the Android Development Patterns Collection for more!

12 May 2016 1:13am GMT

11 May 2016

feedAndroid Developers Blog

Introducing the second class of Launchpad Accelerator

Originally posted on Google Developers blog

Roy Glasberg, Global Lead, Launchpad Program & Accelerator

This week Launchpad Accelerator announces its second class, which includes 24 promising startups from around the world. While the number of accelerators is at an all-time high, we take a different approach with Launchpad Accelerator, a program that exclusively works with late-stage tech startups in emerging markets -- Brazil, Indonesia, India and Mexico.

See what it's like to participate in the Accelerator.

"We provide comprehensive mentorship that delivers results," says Jacob Greenshpan, one of Launchpad's lead mentors. "We start by running a 'patient diagnostic' to determine each startup's critical challenges, and then deploy precise mentorship, actionable solutions, and Google resources that enables the app to scale."

Class 2 kicks off June 13. The startups will descend on Google HQ for an intensive 2 week bootcamp. Under the tutelage of Google product teams and mentors from the global Launchpad network, they will receive intensive, targeted mentoring, equity-free funding, and more benefits during the 6-month program.

Here's the full list of startups (by country):


BankFacil Emprego Ligado AppProva GetNinjas Edools Love Mondays


HijUp Talenta Jarvis Store Ruangguru IDNtimes Codapay


Taskbob Programming Hub ShareChat RedCarpet PlaySimple Games MagicPin


Aliada SaferTaxi Conekta Konfio Kichink Miroculus

Google's "Scalerator" Drives Results for Alumni

What advice do Class 1 alumni give to the new intake? "Come to the accelerator with an open mind. You will be shocked to find how many things are going wrong in your app. Thankfully the mentors will help you implement better solutions," says Vinicius Heimbeck, Founder of Brazilian mobile game developer UpBeat Games.

UpBeat Games had more than 1,000% increase in daily app installations in Asia during the period of a feature, as well as a 200% overall increase in active users after following a long list of improvements Accelerator mentors suggested. "We made optimizations that led us to be featured in Google Play, which changed everything for us."

See Upbeat Games at the Accelerator in this video.

"Believe you can build a world class product. The mentors will push you to bet on yourself," says Amarendra Sahu, Nestaway Co-founder and Class 1 alumni. NestAway just closed a $30M Series C, one of the largest investment rounds in India this year.

"Your biggest enemy is not failure; it is the temptation to be ordinary. But the mentors will push you to build an extraordinary product and scale an extraordinary startup," says eFishery Co-founder and CEO Gibran Chuzaefah Amsi El Farizy, who was announced as one of the top 27 leaders in Indonesia's startup ecosystem, after participating in the Accelerator program.

11 May 2016 7:19pm GMT

Get the guide to News app success on Google Play and see how Nabd engages readers with Material Design

Posted by Tamzin Taylor - Strategic Partner Lead, Google Play

Today we're releasing The News Publisher Playbook, where you will learn best practices for developing a successful news mobile strategy on Android. This is a new companion guide to our business playbook for developers, The Secrets to App Success on Google Play, focused on the news apps segment.

The guide includes tips and useful resources to help you optimize your news content on mobile, identifying the best distribution channels to reach the right audience, build your brand and maximize your revenue.

You will find tips on mobile website optimization, how to create a Google Play Newsstand edition, and how to improve your native app. You will also get an overview of ways to acquire and engage your readers as well as how to monetize and grow your revenue.

Once you've checked out the guide, we'd love to hear your feedback, so we can continue to improve our developer resources. Please let us know what you think.

Android Developer Story: Nabd improves reader engagement with Material Design

Founded in 2012, Nabd is a personalised Arabic news aggregator app based in Kuwait, reaching over 10 million people, of which, 60% use Android devices. Watch this Android Developer Story to hear Abdur-Rahman El-Sayed, Co-founder and CEO, and Abdullah El-Sayed, Co-founder and VP of Engineering, explain how adopting Material Design increased user engagement and improved ratings.

Get the News Publisher Playbook to help you find success on Google Play.

11 May 2016 5:19pm GMT

05 May 2016

feedAndroid Developers Blog

Hardening the media stack

Posted by Dan Austin and Jeff Vander Stoep, Android Security team

To help make Android more secure, we encourage and reward researchers who discover vulnerabilities. In 2015, a series of bugs in mediaserver's libstagefright were disclosed to Google. We released updates for these issues with our August and September 2015 security bulletins.

In addition to addressing issues on a monthly basis, we've also been working on new security features designed to enhance the existing security model and provide additional defense in-depth. These defense measures attempt to achieve two goals:


Most of the vulnerabilities found in libstagefright were heap overflows resulting from unsigned integer overflows. A number of integer overflows in libstagefright allowed an attacker to allocate a buffer with less space than necessary for the incoming data, resulting in a buffer overflow in the heap.

The result of an unsigned integer overflow is well defined, but the ensuing behavior could be unexpected or unsafe. In contrast, signed integer overflows are considered undefined behavior in C/C++, which means the result of an overflow is not guaranteed, and the compiler author may choose the resulting behavior-typically what is fastest or simplest. We have added compiler changes that are designed to provide safer defaults for both signed and unsigned integer overflows.

The UndefinedBehaviorSanitizer (UBSan) is part of the LLVM/Clang compiler toolchain that detects undefined or unintended behavior. UBSan can check for multiple types of undefined and unsafe behavior, including signed and unsigned integer overflow. These checks add code to the resulting executable, testing for integer overflow conditions during runtime. For example, figure 1 shows source code for the parseChunk function in the MPEG4Extractor component of libstagefright after the original researcher-supplied patch was applied. The modification, which is contained in the black box below, appears to prevent integer overflows from occurring. Unfortunately, while SIZE_MAX and size are 32-bit values, chunk_size is a 64-bit value, resulting in an incomplete check and the potential for integer overflow. In the line within the red box, the addition of size and chunk_size may result in an integer overflow and creation of buffer smaller than size elements. The subsequent memcpy could then lead to exploitable memory corruption, as size + chunk_size could be less than size, which is highlighted in the blue box. The mechanics of a potential exploit vector for this vulnerability are explained in more detail by Project Zero.

Figure 1. Source code demonstrating a subtle unsigned integer overflow.

Figure 2 compares assembly generated from the code segment above with a second version compiled with integer sanitization enabled. The add operation that results in the integer overflow is contained in the red box.

In the unsanitized version, size (r6) and chunk_size (r7) are added together, potentially resulting in r0 overflowing and being less than size. Then, buffer is allocated with the size specified in r0, and size bytes are copied to it. If r0 is less than r6, this results in memory corruption.

In the sanitized version, size (r7) and chunk_size (r5) are added together with the result stored in r0. Later, r0 is checked against r7, if r0 is less than r7, as indicated by the CC condition code, r3 is set to 1. If r3 is 1, and the carry bit was set, then an integer overflow occurred, and an abort is triggered, preventing memory corruption.

Note that the incomplete check provided in the patch was not included in figure 2. The overflow occurs in the buffer allocation's add operation. This addition triggers an integer sanitization check, which turns this exploitable flaw into a harmless abort.

Figure 2. Comparing unsanitized and sanitized compiler output.

While the integer sanitizers were originally intended as code hygiene tools, they effectively prevent the majority of reported libstagefright vulnerabilities. Turning on the integer overflow checks was just the first step. Preventing the runtime abort by finding and fixing integer overflows, most of which are not exploitable, represented a large effort by Android's media team. Most of the discovered overflows were fixed and those that remain (mostly for performance reasons) were verified and marked as safe to prevent the runtime abort.

In Android N, signed and unsigned integer overflow detection is enabled on the entire media stack, including libstagefright. This makes it harder to exploit integer overflows, and also helps to prevent future additions to Android from introducing new integer overflow bugs.


For Android M and earlier, the mediaserver process in Android was responsible for most media-related tasks. This meant that it required access to all permissions needed by those responsibilities and, although mediaserver ran in its own sandbox, it still had access to a lot of resources and capabilities. This is why the libstagefright bugs from 2015 were significant-mediaserver could access several important resources on an Android device including camera, microphone, graphics, phone, Bluetooth, and internet.

A root cause analysis showed that the libstagefright bugs primarily occurred in code responsible for parsing file formats and media codecs. This is not surprising-parsing complex file formats and codecs while trying to optimize for speed is hard, and the large number of edge cases makes such code susceptible to both accidental and malicious malformed inputs.

However, media parsers do not require access to most of the privileged permissions held by mediaserver. Because of this, the media team re-architected mediaserver in Android N to better adhere to the principle of least privilege. Figure 3 illustrates how the monolithic mediaserver and its permissions have been divided, using the following heuristics:

Figure 3. How mediaserver and its permissions have been divided in Android N.

Comparing the potential impact of the libstagefright bugs on Android N and older versions demonstrates the value of this strategy. Gaining code execution in libstagefright previously granted access to all the permissions and resources available to the monolithic mediaserver process including graphics driver, camera driver, or sockets, which present a rich kernel attack surface.

In Android N, libstagefright runs within the mediacodec sandbox with access to very few permissions. Access to camera, microphone, photos, phone, Bluetooth, and internet as well as dynamic code loading are disallowed by SELinux. Interaction with the kernel is further restricted by seccomp. This means that compromising libstagefright would grant the attacker access to significantly fewer permissions and also mitigates privilege escalation by reducing the attack surface exposed by the kernel.


The media hardening project is an ongoing effort focused on moving functionality into less privileged sandboxes and further reducing the permissions granted to those sandboxes. While the techniques discussed here were applied to the Android media framework, they are suitable across the Android codebase. These hardening techniques-and others-are being actively applied to additional components within Android. As always, we appreciate feedback on our work and welcome suggestions for how we can improve Android. Contact us at security@android.com.

05 May 2016 7:02pm GMT

10 Nov 2011

feedAndroid Forums

Latest action game INC from OrangePixel now available!

From the developer of Meganoid and Stardash comes a new action arcade game: INC! http://www.youtube.com/watch?v=9j5OEG-3RyM Get it from the...

10 Nov 2011 9:31am GMT

Free online video chat

More than 1000 broadcast cameras for you online - the most incendiary models in Russia. 1000 girls, 1000, the temptations, 1000, full of desire - all...

10 Nov 2011 7:48am GMT

Layout problem

Hi Friends I decided to work with a tab layout application. Program consist of 3 tabs and a button. I like to place the button below the tab. ...

10 Nov 2011 5:20am GMT

[ANDROID]5 New Live Wallpapers for ANDROID !

*1-) Spectrum ICS * Image: http://i.imgur.com/IjE5B.jpg *2-) Alien Shapes* Image: http://i.imgur.com/7hQHA.jpg

10 Nov 2011 12:50am GMT

09 Nov 2011

feedAndroid Forums

New to Android, thinking of getting Asus Transformer

Hey all, New to this site and Android. I'm a 50 year old fireman who has resisted the newest tech gadgets but am wanting a tablet for use at home....

09 Nov 2011 10:33pm GMT

Island Fortress - "reverse Angry Birds" (FREE GAME)

Island Fortress is a free physics based puzzle/construction game where player has to defend the treasure from the pirate's cannonballs....

09 Nov 2011 8:42pm GMT

Unlock Code Question (MyTouch 3G)

I have a question about using an unlock code with an HTC T-Mobile MyTouch 3G. So I got the phone from a guy on Craigslist, and I have AT&T. In order...

09 Nov 2011 8:28pm GMT

[Game] Mini-Bubbles

Free Mini-Bubbles Android Market Link: https://market.android.com/details?id=br.com.dotfive.minibubbles Pop the most bubbles you can within...

09 Nov 2011 6:39pm GMT

Top 6 Android Tablet For 2011

Well now a days we are seeing new tablets coming every day and we see new upcoming tablets leaks too! It's difficult to choose best one which works...

09 Nov 2011 4:15pm GMT

unlock code

Hello, I need unlock code for telephone my touch 3g tmobile. thanks

09 Nov 2011 2:56pm GMT