24 May 2013
Android Community
HTC One becomes first HTCPro certified for business device
The HTC One has been in the news a lot over the past few days. With rumors of stock Android models, bigger 5-inch screens, and patent lawsuits from Nokia. Today[...]
24 May 2013 11:41pm GMT
Google Glass labs reveals wink camera and always-on listening mode
Google Glass is still very much in the early stages, and obviously a developer platform with tons of features we may or may not see on the final product. Now[...]
24 May 2013 10:51pm GMT
AT&T nickel and dimes users with new monthly “administration fee”
Today we've learned that AT&T has added a new monthly fee for all users that will earn the company millions of dollars. It isn't much, requiring subscribers to pay an[...]
24 May 2013 10:06pm GMT
Android 4.3 leaks on video with new camera UI
Today we've received potentially our first look at Android 4.3 Jelly Bean. A set of pictures leaked from the folks over at XDA showing an LG Nexus 4 with Android[...]
24 May 2013 9:44pm GMT
AT&T GoPhone users can now get HSPA+ and LTE speeds
Beginning today, AT&T GoPhone users can now get access to 4G speeds. This includes AT&T's HSPA+ and LTE networks, though it is provided the user has a supported handset. For[...]
24 May 2013 8:58pm GMT
New Gmail for Android spotted in IO session video
Today some news has surfaced about a potential redesign of Google's Gmail for Android. What we're seeing could be something new that is coming soon, or instead just a mockup[...]
24 May 2013 8:56pm GMT
Galaxy S III and DROID DNA discounts coming to Best Buy
Best Buy is planning a weekend sale that will bring some discounts on select Android smartphones. There are a few handsets that will be available during this promotion and they[...]
24 May 2013 8:16pm GMT
Android News, Rumours, and Updates
Nokia brings up new patent suit against HTC in hopes to ban HTC One sales
Today Nokia has decided to file yet another patent suit against HTC claiming infringement with the HTC One its main target. According to Nokia, HTC hasn't taken any action to prevent infringement and said the company "tried to shift responsibility to its suppliers." Nokia's obvious main goal here is to somehow stop HTC's sales of the [...]
Come comment on this article: Nokia brings up new patent suit against HTC in hopes to ban HTC One sales
24 May 2013 8:05pm GMT
Sony Xperia S finally receiving Jelly Bean update
It took long enough, but it seems like the Sony Xperia S is finally going to be able to enjoy Jelly Bean. Numerous deadlines have come and gone without a Jelly Bean release, but Sony France has now confirmed on Twitter that the 4.1.2 update is being slowly rolled-out to users. Sony says that "many more [...]
Come comment on this article: Sony Xperia S finally receiving Jelly Bean update
24 May 2013 7:57pm GMT
Android Community
ZTE Grand S US release pushed until 2014
ZTE unveiled the Grand S smartphone back in January during CES. At the time they offered a complete set of specs and had the handset on display during the conference[...]
24 May 2013 7:40pm GMT
Verizon Samsung GALAXY S 4 hands-on and unboxing
As of yesterday the flagship Samsung GALAXY S 4 smartphone is available from Verizon Wireless. And even though we've seen the smartphone plenty and reviewed the international and AT&T model,[...]
24 May 2013 7:01pm GMT
Google Glass Nest app brings voice controlled thermostat adjustments
Those using Google Glass now have another reason to consider using a Nest thermostat in their homes. The Nest is a learning thermostat that is touted as being the "next[...]
24 May 2013 6:30pm GMT
Android News, Rumours, and Updates
New screenshots of Android 4.3 surface; shows slightly different camera software UI
Thanks to XDA user chaleen, new screenshots of a Nexus 4 in Thailand's Mobile Expo 2013 running Android 4.3 have surfaced. So far nothing too interesting in the screenshots as it just shows the build and kernel info, but one of them was fairly interesting as it shows a slightly re-designed UI for Google's stock camera [...]
Come comment on this article: New screenshots of Android 4.3 surface; shows slightly different camera software UI
24 May 2013 6:16pm GMT
Android Community
Google Glass expected to use Samsung OLED displays
We still have some time before Google releases Glass for consumers, however it looks like the display technology may have been decided. Based on details coming out of a recent[...]
24 May 2013 5:54pm GMT
HTC One with a larger 5-inch display coming soon
Due to being what many would consider the perfect size coming in at 4.7-inches the HTC One is a popular smartphone, but for those wanting something a little bigger, apparently[...]
24 May 2013 5:35pm GMT
New Nexus 7 reportedly shipping now, launching next month
As we all know, Google I/O this year didn't have any crazy new hardware announcements or a change in the Android OS version. With speculation of a new Nexus 7,[...]
24 May 2013 5:00pm GMT
Sherpa digital assistant app coming to Google Glass
Sherpa, for those not familiar with the name, is a virtual assistant app for Android. The app had been available for those in Spain and Latin America and back in[...]
24 May 2013 4:56pm GMT
Android News, Rumours, and Updates
Chrome Beta for Android updated, adds better translation and full screen options
Along with updates on the Google Chrome Beta channel for desktop systems that were made available yesterday, Google also announced the availability of an update to the Chrome Beta for Android app. The new update for Chrome 28 takes it up to version 28.0.1500.21. Headlining the improvements is better integration of the Google Translate service [...]
Come comment on this article: Chrome Beta for Android updated, adds better translation and full screen options
24 May 2013 4:51pm GMT
Screenshots of redesigned Gmail app leaked during I/O session
It seems like Google may have casually leaked a preview of an updated Gmail app. During an I/O session called "Structure in Android design," a few screenshots of what looks like a revamped Gmail app design were shown, highlighting a new navigation drawer and a moved action bar. The navigation bar looks like it would [...]
Come comment on this article: Screenshots of redesigned Gmail app leaked during I/O session
24 May 2013 4:30pm GMT
Android Community
Android 4.3 Jelly Bean spotted on a Nexus 4 in the wild
We've been hearing a lot about Android 4.3 Jelly Bean lately, not 4.5 or 5.0 Key Lime Pie, and today over on XDA is possibly the first leaked images of[...]
24 May 2013 4:20pm GMT
Nokia seeking HTC One US import ban
Nokia appears to have stepped up in their patent dispute against HTC. This latest move involves an additional patent complaint that was filed with the International Trade Commission (ITC) on[...]
24 May 2013 4:06pm GMT
Android News, Rumours, and Updates
BBC iPlayer app now adds support for 10-inch tablets, refined UI for smartphones and 7-inch tablets
BBC's popular iPlayer app has just gotten a new update bringing more support and increased functionality to a wider array of Android tablets. First off the bat is new-found support for 10-inch tablets, so users won't need to rely on having to go to the BBC website to view all that cool content anymore. On top [...]
Come comment on this article: BBC iPlayer app now adds support for 10-inch tablets, refined UI for smartphones and 7-inch tablets
24 May 2013 3:04pm GMT
Samsung to provide OLED screens for consumer version of Google Glass
Good news for Samsung today because Google has agreed to use their OLED screens for the consumer version of Google Glass. Samsung has been going toe to toe with LG lately, but LG has been leading the way. "Samsung will supply its high-end OLED screens for Google Glass. This is a really big thing because [...]
Come comment on this article: Samsung to provide OLED screens for consumer version of Google Glass
24 May 2013 2:34pm GMT
Sony’s upcoming Xperia Tablet Z launch delayed by a week
For those of you excited to get your hands on the Sony Xperia Tablet Z tomorrow, it looks like you'll have to wait just a little bit longer. According to the official Sony Store and Newegg the new launch date is May 29th. B&H is expecting to have it on June 4th and Amazon lists [...]
Come comment on this article: Sony's upcoming Xperia Tablet Z launch delayed by a week
24 May 2013 2:17pm GMT
HTC offering “One Phone, One Weekend, Premium Upgrade” promotion for Canadian mobile users
As part of its sudden momentum, HTC has announced a special promotion to try and entice Canadian mobile users to jump ship and use the One smartphone instead. The new promotion is appropriated called "One Phone, One Weekend, Premium Upgrade" and invites mobile users to trade in their existing handsets for the One instead [...]
Come comment on this article: HTC offering "One Phone, One Weekend, Premium Upgrade" promotion for Canadian mobile users
24 May 2013 2:12pm GMT
AUO set to provide display panels for next-generation Nexus 7 tablet
We know that Google's second-generation Nexus 7 tablet is on the way, but not much about the device is known- especially since we didn't see much of a tease at Google I/O this year. Fortunately, it appears that we're finally getting some long-awaited information about the venerable device as news has surfaced that it'll [...]
Come comment on this article: AUO set to provide display panels for next-generation Nexus 7 tablet
24 May 2013 1:55pm GMT
20 May 2013
Android Developers Blog
Transitioning to Google Wallet Merchant Center
Posted by Mark Thomas, Product Manager, Google Wallet
A key focus of Google Wallet is to simplify commerce for merchants and shoppers; for over a year now, consumers on Google Play have been using Wallet to make their purchases, to the benefit of the entire ecosystem. Helping merchants benefit from the growing consumer adoption of mobile commerce is where we believe we can make the most impact. And that's why today we're focusing our efforts on the new Google Wallet Merchant Center and retiring Google Checkout over the next six months.
Most Google Play apps developers will seamlessly transition to the Wallet Merchant Center, which provides new reporting and analytics features and much more. A small number of Google Play developers, however, will see some changes:
- Developers using Google Checkout on their website to sell physical goods or services will no longer be able to use Checkout after November 20, 2013. We have provided some discounted migration options to help with this change. If you are a U.S. merchant selling physical goods and services who does have payment processing, you can apply for Google Wallet Instant Buy, which offers a fast buying experience to Google Wallet shoppers.
- Developers who use the Google Checkout for the Notifications and/or Order Reports API(s) will need to migrate to replacement APIs, made available through Google Play, before November 20, 2013. Watch for announcements on the new APIs soon.
If you sell apps or in-app products in Google Play, you'll soon have access to the new Wallet Merchant Center. Watch for an email notifying you that that it's now available to you. We expect to transition all merchants to the Wallet Merchant Center over the next several weeks.
We invite you to join us for our live merchant webinar on May 23, 2013 at 10AM PDT to learn more and ask any outstanding questions. As always, feel free to contact us at any time during this transition. Finally, be sure to check out the exciting updates launched last week at Google I/O (including Instant Buy and Wallet Objects) and stay tuned for more great developer features coming soon!
20 May 2013 11:51pm GMT
17 May 2013
Android Developers Blog
New Ways to Optimize Your Business in Google Play
Posted by Ellie Powers, Google Play team

This week at I/O, we were excited to announce some updates to Google Play to help you optimize your business on Google Play: to help you take control of your app publishing, gain insight into your users, and expand your app's success globally.
Play Store's new view: apps designed for tablets
Many of you have invested in making great tablet experiences for your users, and we want to ensure that that work pays off and that users are able to discover great apps for their tablets. This week, the Google Play store began providing a view of our top charts highlighting apps which have been designed for tablets according to our tablet app quality checklist.
Be sure you don't miss out! Check that your app's optimization tips say that your app is designed for tablets, and upload tablet screenshots for 7" and 10" tablets.
Beta testing and staged rollouts
We have introduced support for beta testing and staged rollouts so that you can get feedback on your new app or app update early in its development and make sure your users are happy with the results. You can test two different versions on two different groups at the same time, such as testing a newer version with your employees first, and a more mature version with a group of external testers.
The beta testing is private on Google Play, and you can specify who gets these versions by adding Google Groups and Google+ Communities. Users give you feedback privately rather than through public reviews. When you're satisfied that your new version is ready, you can now do a staged rollout to a percentage of your userbase. To give you more flexibility in light of beta testing and help get your whole team involved in the Developer Console, we will soon launch additional access controls.
Localization improvements
We're collaborating with Google's internationalization team to make translating your app into new languages easier than ever. You can purchase professional translations of your apps from independent providers through the Google Play Developer Console. You can upload the strings you want translated, select the languages you want to translate into, and select your translation vendor based on time and price. If you're interested in translating your apps with this feature, sign up to be a part of the preview in the Developer Console today on the APK page.
The new optimization tips for localization will help you identify new potential opportunities for global expansion based on popular languages for your app's users and category. To fully localize your app into a language, you need to translate the strings in an APK, translate your Google Play store listing, and upload localized graphics. The optimization tips will also let you know if you're missing any of these pieces.
New Analytics and monetization features
Getting better revenue and engagement data has been another key developer request, as developers told us that they check their revenue and stats constantly. New revenue charts in the Developer Console allow you to see your app's daily revenue and summary figures, and you can filter the data by country. Coming soon, Google Play and Google Analytics are teaming up to bring you better insight into your users. Google Analytics will start showing Google Play views and installs for each campaign, while Google Play will show Google Analytics engagement metrics.
For those of you using in-app billing, we've heard your feedback and made some improvements to reduce your development time and costs. Your test accounts will now able to make in-app test purchases without those transactions actually being charged, but everything else works the same as it would for a real user.
In a few weeks, we will launch a new Order Status API, which allows you to verify the status of an in-app order from your servers. We will also be launching a tool for automating downloads of financial reports. Finally, the new Google Wallet Merchant Center is continuing to roll out with enhanced reporting, additional analytics and many other enhancements.
Google Play for Education coming soon
You'll soon be able to offer apps to schools through Google Play for Education, which launches later this year to K-12 schools in the United States. This online destination will allow schools to discover, purchase, and distribute apps to their students. Visit developer.android.com/edu to get started creating or optimizing your apps for schools today.
17 May 2013 5:37pm GMT
16 May 2013
Android Developers Blog
Social Gaming, Location, and More in Google Play Services
Posted by Greg Hartrell, Angana Ghosh, Francesco Nerieri, Francis Ma, and the Google Play services team

Some of the most exciting Android announcements at Google I/O this year are part of our latest Google Play services release, version 3.1.
The new version brings you Google Play games services, part of a new cloud-integrated platform for social gaming based on Google+ identity. Also included are location-based services that make it easier to build efficient location-aware apps. For apps using the popular Google Cloud Messaging platform, you can now take advantage of XMPP messaging and easier setup. Finally, Cross-Platform Single Sign On for Google+ Sign-In is now available to your apps.
You can get started using these APIs and services right away-Google Play services 3.1 is already rolling out to Android devices across the world, with support reaching all the way back to Froyo.
Google Play games services
Games are always popular with Android developers, and the announcement of Google Play game services raised the volume even more.
Google Play games services lets you make your games more social, with achievements, leaderboards, and multiplayer, and they help you extend your user's games across multiple devices by storing game saves and settings in the cloud.
Several great Android games are already using these new game services, including World of Goo, Super Stickman Golf 2, Beach Buggy Blitz, Kingdom Rush, Eternity Warriors 2, and Osmos.
You can take advantage of the new services right away using the games services SDK included in Google Play services. For all the details, check out the Google Play games services documentation.

Location APIs
If you build location-aware Android apps, you'll want to check out the new location APIs. They make it easy to build accurate, fast, and efficient apps, with new contextual features.
The Fused Location Provider intelligently manages the underlying location technology and gives you the best location according to your needs. We've simplified the location APIs and completely rewritten our location algorithm to make location more accurate, flexible and use less battery.
Using the new geofencing API, your app can set up geographic boundaries around specific locations and then receive notifications when the user enters or leaves those areas.
With apps becoming increasingly contextual, understanding what the user is doing is critical to surfacing the right content. A new activity recognition API makes it easy to check the the user's current activity - still, walking, cycling, and in-vehicle - with very efficient use of the battery. We use low-power sensors and machine-learning classifiers to recognize the activity, giving you both both high accuracy and low battery usage.
To learn more, head over to our training classes at Making Your App Location Aware or dive directly into the reference docs.
Google Cloud Messaging
We've added APIs to make it easier to set up GCM in your apps, and in the service itself we've added new messaging capabilities for your apps to use.
A new registration API lets your app register with the service using a single method call and begin receiving messages as soon as the call returns.
Sign Up for Early Access
If you'd like to try out CCS messaging or the User Notifications API, please sign up for early access.
In the GCM service itself we've added support for messaging over XMPP with the new GCM Cloud Connection Server (CCS). Your servers now have a persistent connection over which to send large numbers of messages, very quickly, and with no overhead. New APIs in Google Play services let apps send messages back upstream to third-party servers using CCS, without needing to manage network connections. This helps keep battery and data usage to a minimum.
Also new in the GCM service is a User Notifications API. This new API lets you synchronize notifications across a user's multiple devices - when the user dismisses a notification on one device, the notification disappears automatically from all the other devices. To get started with GCM, head over to the developer documentation.
Google+ Cross-Platform Single Sign On
Many people use apps on multiple devices throughout the day, switching between their laptops, tablets, and mobile devices. After signing-in to an app on one device, it's natural that when they pick up a different device and use the same app, they would expect to be signed in there as well.
To help you provide this kind of seamless transition between platforms and stay connected with users across devices, we're adding Cross-Platform Single Sign On to our Google+ Sign-In capabilities.
If your app is already using Google+ Sign-In, you've already got support for Cross-Platform Single Sign On. This feature will be enabled automatically over the coming days.
Cross-Platform Single Sign On gives you a great way to build longer-running, cross-platform user experiences, and it dovetails perfectly with the new Google Play games services for bridging game state across devices using the cloud.
To learn more about Google+ Sign-In, check out http://developers.google.com/+.
More About Google Play Services
Google Play Services is our platform for offering you better integration with Google products, and providing new capabilities to use within your apps. To learn more about Google Play services and the APIs available to you through it, visit the Google Services area of the Android Developers site.
16 May 2013 7:17pm GMT
15 May 2013
Android Developers Blog
Android Studio: An IDE built for Android
Posted by Xavier Ducrohet, Tor Norbye, Katherine Chou

Today at Google I/O we announced a new IDE that's built with the needs of Android developers in mind. It's called Android Studio, it's free, and it's available now for you to try as an early access preview.
To develop Android Studio, we cooperated with JetBrains, creators of one of the most advanced Java IDEs available today. Based on the powerful, extensible IntelliJ IDEA Community Edition, we've added features that are designed specifically for Android development, that simplify and optimize your daily workflow.
Extensible build tools
We know you need a build system that adapts to your project requirements but extends further to your larger development environment. Android Studio uses a new build system based on Gradle that provides flexibility, customized build flavors, dependency resolution, and much more.
This new build system allows you to build your projects in the IDE as well as on your continuous integrations servers. The combination lets you easily manage complex build configurations natively, throughout your workflow, across all of your tools. Check out the preview documentation to get a better idea of what the new build system can do.
Powerful code editing
Android Studio includes a powerful code editor. It's based on the IntelliJ IDEA editor, which supports features such as smart editing, advanced code refactoring, and deep static code analysis.
Smart editing features such as inline resource lookups make it easier to read your code, while giving you instant access to edit code the backing resources. Advanced code refactoring gives you the power to transform your code across the scope of the entire project, quickly and safely.
We added static code analysis for Android development, helping you identify bugs more quickly. On top of the hundreds of code inspections that IntelliJ IDEA provides, we've added custom inspections. For example, we've added metadata to the Android APIs, that flag which methods can return null and which can't, which constants are allowed for which methods, and so on. Android Studio uses that data to analyze your code and find potential errors.
Smoother and richer GUI
Over the past year we've added some great drag-and-drop UI features to ADT and we're in the process of adding them all into Android Studio. This release of Android Studio lets you preview your layouts on different device form factors, locales, and platform versions.
Easy access to Google services
within Android Tools
We wanted to make it easy for you to harness the power Google services right from your IDE. To start, we've made it trivial to add services such a cloud-based backend with integrated Google Cloud Messaging (GCM) to your app, directly from the IDE.
We've also added a new plugin called ADT Translation Manager Plugin to assist with localizing your apps. You can use the plugin to export your strings to the Google Play Developer Console for translation, then download and import your translations back into your project.
Open source development
Starting next week we'll be doing all of our development in the open, so you can follow along or make your own contributions. You can find the Android Studio project in AOSP at https://android.googlesource.com/platform/tools/adt/idea/
Try Android Studio and give us feedback
Give Android Studio a try and send us your feedback! It's free, and the download bundle includes includes everything you need, including the IDE, the latest SDK tools, the latest Android platform, and more. .
Note: This is an early access preview intended for early adopters and testers who want to influence the direction of the Android tools. If you have a production app with a large installed base, there's no need to migrate your development to the new tools at this time. We will continue to support Eclipse as a primary platform for development.
If you have feedback on the tools, you can send it to us using the Android Studio issue tracker.
15 May 2013 9:01pm GMT
Android at Google I/O 2013: Keynote Wrapup

The last year has been an exciting one for Android developers, with an incredible amount of momentum. In fact, over 48 billion apps have been downloaded from Google Play to date, with over 2.5 billion app downloads in the last month alone.
This week, at Google I/O, our annual developer conference, we're celebrating this momentum, and putting on stage a number of new features and advancements both for the Android platform and Google Play, to help you design, develop and distribute great apps to your users.
We just wrapped up the keynote, and wanted to share a number of those new features; we'll be spotlighting some of them throughout the week both here, on Google+, and in 36 Android sessions and sandboxes at the Moscone center in San Francisco (with many of the sessions livestreamed at developer.google.com). Enjoy!
Google Play Services 3.1
Google Play Services is our platform for bringing you easier integration with Google products and new capabilities to use in your apps. Today we announced a new version of Google Play Services that has some great APIs for developers.
- Google Play games services give you great new social features that you can add to your games achievements, leaderboards, cloud save, and real-time multiplayer
- Location APIs make it easy to add location- and context-awareness to your apps through a fused location provider, geofencing, and activity recognition
- Google Cloud Messaging enhancements let you use bidirectional XMPP messaging between server and devices and dismiss notifications
- Cross-Platform Single Sign On, which lets your users sign in once, for all of their devices using Google+ Sign-In.
Android Studio: A new IDE for Android development
Today we announced a new Integrated Development Environment (IDE) built just for Android, with the needs of Android developers in mind. It's called Android Studio, it's free, and it's available now to try as an early access preview.
To build Android Studio, we worked with with JetBrains, creators of one of the most advanced Java IDEs available today. Based on the powerful, extensible IntelliJ IDEA Community Edition, we've added features and capabilities that are designed specifically for Android development, to simplify and optimize your daily workflow for creating Android apps.
Google Play Developer Console: a better distribution experience
Building awesome Android apps is only part of the story. Today we announced great new features in the Google Play Developer Console that give you more control over how you distribute your app and insight into how your app is doing:
- App translation service: a pilot program that lets you purchase professional translations for your app directly from the Developer Console.
- Revenue graphs: a new tab in the Developer Console gives you a summary of your app global app revenue over time.
- Alpha and beta testing and staged rollouts: you can now distribute your app to controlled alpha and beta test groups, or do staged rollouts to specific percentages of your userbase.
- Optimization tips: design your app for tablets and understand how to expand your app into new language markets.
- Google Analytics: launching later this summer, your Google Analytics usage stats will be viewable right in the Developer Console.
- Referral tracking: also launching later this summer, you'll get a new report in Google Analytics to show what blogs, campaigns, and ads are driving your installs.
Follow the Android Sessions
Join us for the Android sessions today and through the week by livestream. Visit the I/O Live Stream schedule for details.
15 May 2013 7:32pm GMT
13 May 2013
Android Developers Blog
All Google Play Developers Can Now Reply to User Reviews
Posted by Ellie Powers, Google Play team
There are a lot of great things a developer can do to promote their app, but the best way for your app to take off is when a really happy user tells their friend about your app, who tells their friend, who tells someone else - you get the picture.
That's why it's always been a priority for us to strengthen that conversation between developers and their users. Google Play is now connected with Google+, and by associating reviews with an identity, the quality of reviews has increased tremendously (in addition to letting users find reviews they trust).
We're happy to announce today that all developers on Google Play can now reply to user reviews. You can reply to user reviews in the Google Play Developer Console, and your replies are shown publicly below the corresponding user review on Google Play. Users receive an email notification when you reply and can either reply to you directly by email, or update their review if they choose to do so -- though keep in mind that users are not obligated to update their reviews. You can also update your reply at any time.
Developers who have been using this feature have told us that the following best practices are most effective in improving their apps and building strong relationships with their users:
- Check reviews frequently, and involve people from all parts of your organization
- Identify and prioritize bugs based on user impact
- Let users know when their problems are resolved
- Reply constructively to both negative and positive reviews
- Refer users to documentation or other support channels
- Get ideas about new improvements or features
- Thank the users who are your biggest advocates

Before replying to user reviews, it is important to review the posting guidelines to be sure that you are using this feature in compliance with Google Play's policies at all times. The reply to each user's review will be public, so prospective users will see if you provide consistently high quality customer support. Read the posting guidelines, and start connecting with users today.
Conversations are meant to be two-sided, and facilitating discussion between developers and users will ultimately yield better apps, to the benefit of everyone.
13 May 2013 4:37pm GMT
09 May 2013
Android Developers Blog
Android at Google I/O 2013
Posted by Reto Meier, Android Developer Relations Tech Lead

Google I/O 2013 is less than a week away, and the full session schedule - featuring 34 Android sessions (and 3 codelabs) - is now available. We have great Android content spread across three packed days - covering everything from design, development, and distribution.
Not everyone can come to San Francisco to join us in person, so we'll be streaming a selection of the best content as part of Google Developers Live. In addition to the keynote and four session streams (including one dedicated to Android), you'll see one-on-one product deep dives, executive interviews, and Sandbox walkthroughs broadcast from the GDL stage at I/O. All the live feeds will be available on the Google I/O homepage from the comfort of your own home - or join our Google Developer Groups to experience Google I/O as part of Google I/O Extended.
Whether you're attending in person or virtually, you can follow all the action using the official Google I/O 2013 conference companion app! It supports devices running Android 2.3+, and is optimized for phones and tablets of all shapes and sizes.

Use it to view the conference sessions agenda and create your own personal schedule with reminders, view details on sessions, code labs, office hours, and speakers, track announcements, and even view the keynote and live streamed sessions throughout the conference!
If you're attending in person, you can use it to guide yourself around the venue using the vector-based conference map, Android Beam session details, scan fellow attendee badges, and provide feedback on the sessions you watch.
And stay tuned after I/O when every Google I/O technical session will also be posted to GDL and YouTube, and the conference app will be open sourced.
09 May 2013 9:33pm GMT
25 Apr 2013
Android Developers Blog
Tablet Optimization Tips in the Google Play Developer Console
Posted by Ellie Powers, Google Play team
Last week we updated our guidelines for making great tablet apps and added the ability to upload tablet screenshots that are shown preferentially in Google Play to users on those devices. Today we're introducing a new Optimization Tips page in the Google Play Developer Console that lets you quickly see how your app is doing against basic guidelines for tablet app distribution and quality.
When you upload an app, the Developer Console now runs a series of checks to verify basic criteria from the Tablet App Quality Checklist and shows you any issues it finds in the Optimization Tips page.

If you're developing for tablets, make sure to visit your Optimization Tips page to ensure that your app is delivering a great tablet experience. If there are any issues listed, we recommend addressing them in your app as soon as possible and uploading a new binary for distribution, if needed.
For ideas on how to design and build a great tablet app, including details on how to address issues listed in your Optimization Tips page, check out the Tablet App Quality Checklist. Remember that a great tablet experience goes well beyond these basic checks. Keep working to bring your tablet users the most polished UI and richest content possible.
25 Apr 2013 4:32pm GMT
16 Apr 2013
Android Developers Blog
Update on Tablet App Guidelines and Screenshots
Posted by Ellie Powers, Google Play team
More and more, developers are investing in a full tablet experience for their apps and seeing those investments pay off big. Starting today, it's even easier to show off those tablet apps to users and to understand what it takes to make a great tablet app.
Many of you have already made optimizations to your apps to make them more beautiful and useful on tablets, and we're giving you a way to showcase your application's specialized tablet layouts. You're now able to upload screenshots of your app running on 7" and 10" tablets to the Google Play Developer Console, and those screenshots are shown preferentially in Google Play to users on those devices.
In October, we published the tablet app quality checklist, which shares best practices for creating tablet applications that users will love. We've updated this checklist with additional tips and guidelines, as well as more details on specific technical checks you should perform to ensure your app is correctly optimized for tablets. Soon, we'll start surfacing tips based on our tablet app quality guidelines directly in the Google Play Developer Console, and we'll use these guidelines to help users better discover tablet apps in Google Play.
So upload your tablet screenshots and confirm your app follows the quality guidelines today.

16 Apr 2013 7:38pm GMT
09 Apr 2013
Android Developers Blog
New Look, New Purchase Flow in Google Play
Posted by Purnima Kochikar, Director of Business Development, Games & Applications
Today we announced that a new version of the Google Play Store app is rolling out worldwide to Android phones and tablets. This new app brings a redesigned UI that's easier to use and showcases more great content for users. For developers, the new app offers more ways for your app to get noticed, as well as a new, simpler purchase flow.

The new UI is simple and easier to browse. Collections are front and center on the homepage, helping users discover great content through recommendations and curated lists. Items in collections are now presented as cards, with a larger area for your app's graphics and a larger touch target for users. Overall, the homepage surfaces more apps than before and highlights them more effectively right on the page.

Most important for apps that sell in-app products, the new UI offers a dramatically simplified, dialog-based purchase flow that lets users buy your products without leaving the context of the app. Your app remains active and visible behind the purchase dialogs. When the purchase is complete, users return directly to the place they left, without your app having to reconstruct its state. It's especially powerful when combined with In-app Billing v3, providing a faster and more reliable purchase flow.
All of these changes build on the core features of Google Play. Our editorial team will continue to look for exemplary apps to showcase in Editors' Choice and other collections, and our familiar top lists will continue to track the market performance of your app on an ongoing basis.
Watch for the new Play Store app (version 4.0.25) coming to your devices soon. The rollout has already started and we expect all devices running Android 2.2 or higher to have received the update over the next few weeks.
09 Apr 2013 4:09pm GMT
12 Mar 2013
Android Developers Blog
Now is the time to switch to the new Google Play Developer Console
Posted by Ellie Powers, Google Play team
The new Google Play Developer Console is out of preview and is the default experience. In addition to offering all of the functionality of the old version, the new version features a streamlined publishing flow, store listings in more languages with language-specific graphics, and new user ratings statistics, so you'll have better tools for delivering great Android apps that delight users. If you haven't already made the switch, now is the time, as we'll be retiring the former version on April 15 to focus our efforts on this new experience.
The new Developer Console brings you new functionality built on top of a quick-to-navigate user experience. You can add language-specific graphics to your store listing to help your users around the world understand what your app is about. New graphs let you track your ratings over time with breakdowns by device, country, app version, and more. The statistics page now shows you when you released each version of your app, so you see how each new version changes your installations and ratings, and you can view crashes specific to an application version. These new features are only the beginning of what's to come for developers on Google Play in the future.
If you're still using the old Developer Console, now is the time to switch over fully to the new version by clicking "Try the new version" in the header. Let us know what you think by clicking the "Feedback" link in the header in the new Developer Console, and if you experience any serious issues, please contact support. We're planning some more improvements in the next month and in the future. Your input will continue to be key to what we do.
12 Mar 2013 10:16pm GMT
04 Mar 2013
Android Developers Blog
Native RTL support in Android 4.2
Posted by Fabrice Di Meglio, Android Frameworks Team
Android 4.1 (Jelly Bean) introduced limited support for bidirectional text in TextView and EditText elements, allowing apps to display and edit text in both left-to-right (LTR) and right-to-left (RTL) scripts. Android 4.2 added full native support for RTL layouts, including layout mirroring, allowing you to deliver the same great app experience to all of your users, whether their language uses a script that reads right-to-left or one that reads left-to-right.
If you do nothing, your app will not change - it will continue to appear as it currently does. However, with a few simple changes, your app will be automatically mirrored when the user switches the system language to a right-to-left script (such as Arabic, Hebrew, or Persian). For example, see the following screenshots of the Settings app:
To take advantage of RTL layout mirroring, simply make the following changes to your app:
- Declare in your app manifest that your app supports RTL mirroring.
Specifically, add
android:supportsRtl="true"to the<application>element in your manifest file. - Change all of your app's "left/right" layout properties to new "start/end" equivalents.
- If you are targeting your app to Android 4.2 (the app's
targetSdkVersionorminSdkVersionis 17 or higher), then you should use "start" and "end" instead of "left" and "right". For example,android:paddingLeftshould becomeandroid:paddingStart. - If you want your app to work with versions earlier than Android 4.2 (the app's
targetSdkVersionorminSdkVersionis 16 or less), then you should add "start" and end" in addition to "left" and "right". For example, you'd use bothandroid:paddingLeftandandroid:paddingStart.
- If you are targeting your app to Android 4.2 (the app's
For more precise control over your app UI in both LTR and RTL mode, Android 4.2 includes the following new APIs to help manage View components:
- android:layoutDirection - attribute for setting the direction of a component's layout.
- android:textDirection - attribute for setting the direction of a component's text.
- android:textAlignment - attribute for setting the alignment of a component's text.
- getLayoutDirectionFromLocale() - method for getting the Locale-specified direction
You can even create custom versions of layout, drawables, and other resources for display when a right-to-left script is in use. Simply use the resource qualifier "ldrtl" to tag your resources, meaning "layout direction right-to-left". To debug and optimize custom right-to-left layouts, HierarchyViewer now lets you see start/end properties, layout direction, text direction, and text alignment for all the Views in the hierarchy.
It's now easy to create beautiful Android apps for all your users, whether they use a right-to-left or left-to-right language. We look forward to seeing some great apps!
04 Mar 2013 6:06pm GMT
26 Feb 2013
Android Developers Blog
Google+ Sign-In Now Part of Google Play Services
Google+ Sign-In

Over-the-air installs from your website
After signing in with Google on your web site, users will now have the option to install your Android app on their devices instantly. They'll enjoy a seamless desktop-to-mobile experience, and you'll be able to drive more downloads. Linking your web site and Android apps is as simple as registering your project and clients with the Google APIs console.App customization
When users sign in with Google, they can now bring their Google+ info with them (like their public profile, and the people in their circles). This lets your app welcome them by name, display their picture, connect them with friends, and lots more.Interactive posts
Shares from your app can now include calls to action (like "listen," "RSVP," and "check-in"), custom thumbnails, and brand attribution - all of which help them stand out in users' Google+ streams. Clicking on an interactive post can also deep link to a specific piece of content inside your app, further improving engagement.App activity that's useful, not annoying
Users' app activities will only be visible to the Google+ circles they specify (if any), and they'll only appear when they're relevant. Putting users in control, and not spraying their stream builds trust in your app, and encourages meaningful sharing.Measure and monitor key metrics
Once your Google+ Sign-In integration is live, you'll be able to measure and monitor downloads, total users, interactive post performance, and other key metrics. To set up Google+ Platform Insights for your Android app, simply connect it with your Google+ page.More about Google+ Sign-In
To learn more about integrating with Google+ Sign-In, visit our developer docs. You can also read our announcement on the Google+ Developers Blog, or download some of the first apps to include this functionality.Google Maps Android API v2
This release includes fixes for more than 20 bugs, including half of the top 10 issues filed in the Google Maps API issue tracker. These include improvements to map rendering and the behavior of markers and infowindows.
Also included are features like native support for new map shapes such as circles, anti-clockwise polygons, and the OnMyLocationChangeListener event, which is called when a change in location is detected.
Check out the product documentation for a complete set of release notes.
More About Google Play Services
To learn more about Google Play services and the APIs available to you through it, visit the Google Services area of the Android Developers site.
26 Feb 2013 4:01pm GMT
19 Feb 2013
Android Developers Blog
Using Cryptography to Store Credentials Safely
Posted by Trevor Johns, Android Developer Relations team

Following our talk "Security and Privacy in Android Apps" at Google I/O last year, many people had specific questions about how to use cryptography in Android. Many of those revolved around which APIs to use for a specific purpose. Let's look at how to use cryptography to safely store user credentials, such as passwords and auth tokens, on local storage.
An anti-pattern
A common (but incorrect) pattern that we've recently become aware of is to use SecureRandom as a means of generating deterministic key material, which would then be used to encrypt local credential caches. Examples are not hard to find, such as here, here, here, and elsewhere.
In this pattern, rather than storing an encryption key directly as a string inside an APK, the code uses a proxy string to generate the key instead - similar to a passphrase. This essentially obfuscates the key so that it's not readily visible to attackers. However, a skilled attacker would be able to easily see around this strategy. We don't recommend it.
The fact is, Android's existing security model already provides plenty of protection for this kind of data. User credentials should be stored with the MODE_PRIVATE flag set and stored in internal storage, rather than on an SD card, since permissions aren't enforced on external storage. Combined with device encryption, this provides protection from most types of attacks targeting credentials.
However, there's another problem with using SecureRandom in the way described above. Starting with Android 4.2, the default SecureRandom provider is OpenSSL, and a developer can no longer override SecureRandom's internal state. Consider the following code:
SecureRandom secureRandom = new SecureRandom();
byte[] b = new byte[] { (byte) 1 };
secureRandom.setSeed(b);
// Prior to Android 4.2, the next line would always return the same number!
System.out.println(secureRandom.nextInt());
The old Bouncy Castle-based implementation allowed overriding the internally generated, /dev/urandom based key for each SecureRandom instance. Developers which attempted to explicitly seed the random number generator would find that their seed replaces, not supplements, the existing seed (contrary to the reference implementation's documentation). Under OpenSSL, this error-prone behavior is no longer possible.
Unfortunately, applications who relied on the old behavior will find that the output from SecureRandom changes randomly every time their application starts up. (This is actually a very desirable trait for a random number generator!) Attempting to obfuscate encryption keys in this manner will no longer work.
The right way
A more reasonable approach is simply to generate a truly random AES key when an application is first launched:
public static SecretKey generateKey() throws NoSuchAlgorithmException {
// Generate a 256-bit key
final int outputKeyLength = 256;
SecureRandom secureRandom = new SecureRandom();
// Do *not* seed secureRandom! Automatically seeded from system entropy.
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
keyGenerator.init(outputKeyLength, secureRandom);
SecretKey key = keyGenerator.generateKey();
return key;
}
Note that the security of this approach relies on safeguarding the generated key, which is is predicated on the security of the internal storage. Leaving the target file unencrypted (but set to MODE_PRIVATE) would provide similar security.
Even more security
If your app needs additional encryption, a recommended approach is to require a passphase or PIN to access your application. This passphrase could be fed into PBKDF2 to generate the encryption key. (PBKDF2 is a commonly used algorithm for deriving key material from a passphrase, using a technique known as "key stretching".) Android provides an implementation of this algorithm inside SecretKeyFactory as PBKDF2WithHmacSHA1:
public static SecretKey generateKey(char[] passphraseOrPin, byte[] salt) throws NoSuchAlgorithmException, InvalidKeySpecException {
// Number of PBKDF2 hardening rounds to use. Larger values increase
// computation time. You should select a value that causes computation
// to take >100ms.
final int iterations = 1000;
// Generate a 256-bit key
final int outputKeyLength = 256;
SecretKeyFactory secretKeyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
KeySpec keySpec = new PBEKeySpec(passphraseOrPin, salt, iterations, outputKeyLength);
SecretKey secretKey = secretKeyFactory.generateSecret(keySpec);
return secretKey;
}
The salt should be a random string, again generated using SecureRandom and persisted on internal storage alongside any encrypted data. This is important to mitigate the risk of attackers using a rainbow table to precompute password hashes.
Check your apps for proper use of SecureRandom
As mentioned above and in the New Security Features in Jelly Bean, the default implementation of SecureRandom is changed in Android 4.2. Using it to deterministically generate keys is no longer possible.
If you're one of the developers who's been generating keys the wrong way, we recommend upgrading your app today to prevent subtle problems as more users upgrade to devices running Android 4.2 or later.
19 Feb 2013 8:46pm GMT
14 Feb 2013
Android Developers Blog
Security Enhancements in Jelly Bean
Posted by Fred Chung, Android Developer Relations team
Android 4.2, Jelly Bean, introduced quite a few new features, and under the covers it also added a number of security enhancements to ensure a more secure environment for users and developers.
This post highlights a few of the security enhancements in Android 4.2 that are especially important for developers to be aware of and understand. Regardless whether you are targeting your app to devices running Jelly Bean or to earlier versions of Android, it's a good idea to validate these areas in order to make your app more secure and robust.
Content Provider default access has changed
Content providers are a facility to enable data sharing amongst app and system components. Access to content providers should always be based on the principle of least privilege - that is, only grant the minimal possible access for another component to carry out the necessary tasks. You can control access to your content providers through a combination of the exported attribute in the provider declaration and app-specific permissions for reading/writing data in the provider.
In the example below, the provider ReadOnlyDataContentProvider sets the exported attribute to "true", explicitly declaring that it is readable by any external app that has acquired the READ_DATA permission, and that no other components can write to it.
<provider android:name="com.example.ReadOnlyDataContentProvider"
android:authorities="com.example"
android:exported="true"
android:readPermission="com.example.permission.READ_DATA" />
Since the exported attribute is an optional field, potential ambiguity arises when the field is not explicitly declared in the manifest, and that is where the behavior has changed in Android 4.2.
Prior to Jelly Bean, the default behavior of the exported field was that, if omitted, the content provider was assumed to be "exported" and accessible from other apps (subject to permissions). For example, the content provider below would be readable and writable by other apps (subject to permissions) when running on Android 4.1 or earlier. This default behavior is undesirable for sensitive data sources.
<provider android:name="com.example.ReadOnlyDataContentProvider"
android:authorities="com.example" />
Starting in Android 4.2, the default behavior for the same provider is now "not exported", which prevents the possibility of inadvertent data sharing when the attribute is not declared. If either the minSdkVersion or targetSdkVersion of your app is set to 17 or higher, the content provider will no longer be accessible by other apps by default.
While this change helps to avoid inadvertent data sharing, it remains the best practice to always explicitly declare the exported attribute, as well as declaring proper permissions, to avoid confusion. In addition, we strongly encourage you to make use of Android Lint, which among other things will flag any exported content providers (implicit or explicit) that aren't protected by any permissions.
New implementation of SecureRandom
Android 4.2 includes a new default implementation of SecureRandom based on OpenSSL. In the older Bouncy Castle-based implementation, given a known seed, SecureRandom could technically (albeit incorrectly) be treated as a source of deterministic data. With the new OpenSSL-based implementation, this is no longer possible.
In general, the switch to the new SecureRandom implementation should be transparent to apps. However, if your app is relying on SecureRandom to generate deterministic data, such as keys for encrypting data, you may need to modify this area of your app. For example, if you have been using SecureRandom to retrieve keys for encrypting/decrypting content, you will need to find another means of doing that.
A recommended approach is to generate a truly random AES key upon first launch and store that key in internal storage. For more information, see the post "Using Cryptography to Store Credentials Safely".
JavascriptInterface methods in WebViews must now be annotated
Javascript hosted in a WebView can directly invoke methods in an app through a JavaScript interface. In Android 4.1 and earlier, you could enable this by passing an object to the addJavascriptInterface() method and ensuring that the object methods intended to be accessible from JavaScript were public.
On the one hand, this was a flexible mechanism; on the other hand, any untrusted content hosted in a WebView could potentially use reflection to figure out the public methods within the JavascriptInterface object and could then make use of them.
Beginning in Android 4.2, you will now have to explicitly annotate public methods with @JavascriptInterface in order to make them accessible from hosted JavaScript. Note that this also only takes effect only if you have set your app's minSdkVersion or targetSdkVersion to 17 or higher.
// Annotation is needed for SDK version 17 or above.
@JavascriptInterface
public void doSomething(String input) {
. . .
}
Secure USB debugging
Android 4.2.2 introduces a new way of protecting your apps and data on compatible devices - secure USB debugging. When enabled on a device, secure debugging ensures that only host computers authorized by the user can access the internals of a USB-connected device using the ADB tool included in the Android SDK.
Secure debugging is an extension of the ADB protocol that requires hosts to authenticate before accessing any ADB services or commands. At first launch, ADB generates an RSA key pair to uniquely identifies the host. Then, when you connect a device that requires secure debugging, the system displays an authorization dialog such as the one shown below.

The user can allow USB debugging for the host for a single session or can give automatic access for all future sessions. Once a host is authorized, you can execute ADB commands for the device in the normal way. Until the device is authorized, it remains in "offline" state, as listed in the adb devices command.
For developers, the change to USB debugging should be largely transparent. If you've updated your SDK environment to include ADB version 1.0.31 (available with SDK Platform-tools r16.0.1 and higher), all you need to do is connect and authorize your device(s). If your development device appears in "offline" state, you may need to update ADB. To so so, download the latest Platform Tools release through the SDK Manager.
Secure USB debugging is enabled in the Android 4.2.2 update that is now rolling out to Nexus devices across the world. We expect many more devices to enable secure debugging in the months ahead.
More information about security best practices
For a full list of security best practices for Android apps, make sure to take a look at the Security Tips document.
14 Feb 2013 9:37pm GMT
15 Jan 2013
Android Developers Blog
Android Developer Story: Smule
Check out our latest Android developer story, this one from Smule, creators of AutoRap, Magic Piano, and Songify.
In this short video, the Smule team talks about their experiences launching on Android, the explosive global growth they've seen on Google Play, and some of the techniques they use to market and monetize their products effectively across the world.
Visit the Spotlight pages in the Android Developers site to see our growing list of developer stories.
15 Jan 2013 7:22pm GMT












