Google messed up the Play Store's sorting order for recently updated apps

Checking recent app changelogs is getting more and more difficult

Google has been trying different things with the Play Store, including changes that have been enabled and reverted so many times we've lost track — hello, account picker and review section. However, not all of these are welcome modifications, like the controversial removal of update notifications. If your workaround was to manually check your recently updated apps, Google has just made that task a little bit more difficult by messing up the Play Store's sorting method.

Read More

Google messed up the Play Store's sorting order for recently updated apps was written by the awesome team at Android Police.


Android Match

Moment kills its Android camera app, cites constantly-changing software and hardware (Updated)

The company will still make lenses for Android phones, though

Moment is one of the largest manufacturers of custom lens attachments for smartphones, with its cases (required for mounting the lenses) available for most flagship Android phones. The company also has a Pro Camera application for shooting manual photos and video, but now Moment is giving up on the Android version of the app.

"We love Android," wrote co-founder Marc Barros in an email sent to Moment users, "but unfortunately, we don't have the engineering bandwidth to continue developing this app.

Read More

Moment kills its Android camera app, cites constantly-changing software and hardware (Updated) was written by the awesome team at Android Police.


Android Match

Serious Sam Collection and Panzer Dragoon: Remake are coming to Stadia (Update: Serious Sam details)

The best web browsers for Android

You probably don't think much about the web browser on your phone. No matter what browser you've grown accustomed to using, there are plenty of other options that might improve your experience. Unlike Apple, which requires all third-party browsers to use the Safari rendering engine (and doesn't allow other browsers to be the system default), Google allows any web browser with any engine to be published to the Play Store ⁠— giving Android phones and tablets more options for browsing the web than any iOS device.

Read More

The best web browsers for Android was written by the awesome team at Android Police.


Android Match

15 temporarily free and 25 on-sale apps and games for Friday

Don't miss out on the sales for Old Man's Journey, Back to Bed, and ELOH

Welcome to Friday, everyone. The end of the week is here, and so I have a few app and game sales to share with everyone today. While it would appear today is a slower day for sales, there are a few notable games in the list, such as Old Man's JourneyBack to Bed, and ELOH. As always, I've highlighted the interesting titles in bold to make discovery easier.

Read More

15 temporarily free and 25 on-sale apps and games for Friday was written by the awesome team at Android Police.


Android Match

2FA apps like Google Authenticator reportedly vulnerable to malware snooping

The trojan primarily targets banking apps

Using app-generated one-time passcodes (OTPs) is perhaps the easiest and most cost-effective way to add a second authentication layer to all your online accounts and services. They eliminate almost any chances of an unauthorized person accessing your accounts even if they’ve got hold of your passwords. But it would be a scary situation if the passcodes within those apps were compromised, and that's just the threat Google Authenticator is facing right now thanks to some banking malware.

Read More

2FA apps like Google Authenticator reportedly vulnerable to malware snooping was written by the awesome team at Android Police.


Android Match

Google Contacts can now back up and sync contacts saved to your phone's internal storage

No need to worry about losing contacts stored on your phone anymore

Google Contacts is particularly useful if you want to sync your contacts to your Google account and ensure you never lose them, but until now it hasn't been able to back up information stored on a phone's internal storage. On many Android phones, this is where details end up being stored thanks to alternative apps included by OEMs, so Google has now added a feature that will capture these contacts.

Late last year, the Contacts app gained the ability to move individual contacts from your phone's external storage to your Google account (and vice versa) without doing a full export or import.

Read More

Google Contacts can now back up and sync contacts saved to your phone's internal storage was written by the awesome team at Android Police.


Android Match

Pocket Casts lets you automatically skip the unnecessary outros of some podcasts (Updated)

You'll have to manually set the duration per podcast though

Since most podcasts start with a jingle and a small intro, possibly even ads, several podcast players have implemented a skip feature that lets you avoid those. You set up a specific duration per show (anything from a few seconds to a couple of minutes) and the app will automatically jump over that part and start playing. Pocket Casts is now adding a similar option, but for outros.

Read More

Pocket Casts lets you automatically skip the unnecessary outros of some podcasts (Updated) was written by the awesome team at Android Police.


Android Match

YouTube Kids now available in 11 more countries

The YouTube Kids logo is displayed against a grey background

YouTube Kids has proven to be a popular way for parents to give their children access to a limited collection of YouTube content, even if that collection occasionally includes videos depicting suicide and cannibalism (oops!). The service has slowly been expanding its global reach, and now Google has added 11 more nations to the availability list.

According to Google support documents, YouTube Kids has just become available in 11 more countries, all located in Central and South America.

Read More

YouTube Kids now available in 11 more countries was written by the awesome team at Android Police.


Android Match

Here are 371 apps and games available on Google Play Pass right now (Update: 15 more)

A good-faith effort to list all the apps you can get for free on Play Pass

People have been wondering about the full roster of launch titles featured in Google Play Pass — supposedly, we've got over 350 of them to go through. Here's the thing: Google doesn't make it easy to suss out all of the apps participating in the program, whether through the Play Store or external documentation on associated Google sites. Great. Well, guess what? We're gonna give it a try and list as many apps on Play Pass as possible.

Read More

Here are 371 apps and games available on Google Play Pass right now (Update: 15 more) was written by the awesome team at Android Police.


Android Match

TuneIn updates app with rewind/forward buttons in notifications

No support for Android 10's seek bar, though

TuneIn is one of the most-recognized apps for listening to online radio stations and podcasts, especially since it has been available on Android for nearly a decade. A minor update is now going out on the Play Store that updates the playback notification with rewind/fast forward buttons, though there's still no support for Android 10's seek bar.

TuneIn v23.7 updates the playback notification with buttons to rewind and fast-forward the current content in 30-second intervals.

Read More

TuneIn updates app with rewind/forward buttons in notifications was written by the awesome team at Android Police.


Android Match

Google boots popular anti-spam call service YouMail off the Play Store (Update: It's back)

Google really needs to fix its automated app review process

Every other month, a legitimate, useful app gets kicked off the Play Store while sleazy applications with bad intentions thrive. Google's removal algorithms often cite arbitrary reasons as in the recent case of Slide for Reddit. The third-party client was removed for including a screenshot of an article in its listing that contained the word "ISIS" (which had been there for years).

Read More

Google boots popular anti-spam call service YouMail off the Play Store (Update: It's back) was written by the awesome team at Android Police.


Android Match

Shazam on Android now integrates with Apple Music

Spotify continues to be an option

The Shazam app was Apple-fied with prominent Apple Music tags and links for your identified songs soon after the tech titan completed its acquisition back in 2018. But still, it could only connect to the Spotify app for exchanging your playlists, but not Apple’s own streaming app. That's changing now as Shazam has added the option (currently in beta) to link your Apple Music account for a similar cross-app integration.

Pressing the settings cog on the Library page in Shazam will show you the option to connect with either of the two popular music streaming services.

Read More

Shazam on Android now integrates with Apple Music was written by the awesome team at Android Police.


Android Match

Google rolling out new AdSense mobile site ahead of Android app shutdown

Google AdSense is the most popular ad platform on the web, but the Android app was last updated in 2017. There's a reason for that — Google wants to replace both it and the iOS app with a cross-platform web application. Now the new mobile site is here, so business owners (or YouTube vloggers) can check their earnings on the go.

Google said last year that it planned to roll out a mobile interface for the existing web app before the end of 2019, but the timeline seems to have slipped a bit, since we're almost to March 2020.

Read More

Google rolling out new AdSense mobile site ahead of Android app shutdown was written by the awesome team at Android Police.


Android Match

Pocket Casts beta lets you automatically skip the unnecessary outros of some podcasts

You'll have to manually set the duration per podcast though

Since most podcasts start with a jingle and a small intro, possibly even ads, several podcast players have implemented a skip feature that lets you avoid those. You set up a specific duration per show (anything from a few seconds to a couple of minutes) and the app will automatically jump over that part and start playing. Pocket Casts is now adding a similar option, but for outros.

Go to any show, tap on settings, and look for the new Skip last option.

Read More

Pocket Casts beta lets you automatically skip the unnecessary outros of some podcasts was written by the awesome team at Android Police.


Android Match

Asymmetric survival horror game Dead by Daylight is coming to Android (Update: Spring 2020)

Behaviour Interactive has announced that its asymmetric survival horror game Dead by Daylight is coming to Android and iOS before the end of 2019. It will be a free release, and the beta will land in select regions before the official worldwide launch.

The trailer above shows off a few seconds of gameplay at the tail end, though it's conspicuously provided in a small window instead of fullscreen.

Read More

Asymmetric survival horror game Dead by Daylight is coming to Android (Update: Spring 2020) was written by the awesome team at Android Police.


Android Match

Almost all Cheetah Mobile apps have mysteriously disappeared from the Play Store

They won’t be missed

Cheetah Mobile has earned a reputation as a dishonest, destructive Android development studio that occasionally buys up successful apps and turns them into data-collecting, IAP-infested cash machines. The company has also clashed with Play Store policies more than once, but it always managed to find its way back onto the platform. Now it looks like Cheetah Mobile is getting tired of this game and has decided to take its business off the Store altogether.

Read More

Almost all Cheetah Mobile apps have mysteriously disappeared from the Play Store was written by the awesome team at Android Police.


Android Match

Xiaomi’s new Mi Browser can save WhatsApp statuses and natively show your Facebook feed (APK Download)

It’s a Mint Browser doppelganger

Much like Samsung, Xiaomi makes its own alternatives to various Google apps that are usually tied to its notoriously heavy MIUI Android skin. In the past couple of years, the Chinese company has moved apps like Mi Calculator and Mi FileExplorer to the Play Store for faster delivery of updates and to open them up even to non-Xiaomi phones. Joining that small list of apps is the redesigned Mi Browser that likely replaces Xiaomi’s Mint Browser, which debuted in late 2018.

Read More

Xiaomi’s new Mi Browser can save WhatsApp statuses and natively show your Facebook feed (APK Download) was written by the awesome team at Android Police.


Android Match

Microsoft Outlook adds annotation feature for photos and scanned documents

Scribble on your photos without leaving your email app

Outlook is one of the most popular third-party email apps on Android, and it keeps getting better. Only a few months after rolling out dark mode support and POP3 integration, the app has added the ability to annotate photos and documents ⁠using your phone's camera.

While composing an email, you can tap on the camera button to take a photo or scan a document. That functionality isn't new, but what is new is that you can now draw on top of images.

Read More

Microsoft Outlook adds annotation feature for photos and scanned documents was written by the awesome team at Android Police.


Android Match

17 temporarily free and 27 on-sale apps and games for Wednesday

Welcome to Wednesday, everyone. It's the middle of the week, and so this is a slower time for sales, but that doesn't mean I don't have a few standouts to share today. So if you're looking for a solid puzzler, Mirage: Illusions is completely free today, and if you enjoy spooky adventure games, then Distraint 2 is a solid pickup at more than half-off. As always, I've highlighted the interesting titles in bold to make discovery easier.

Read More

17 temporarily free and 27 on-sale apps and games for Wednesday was written by the awesome team at Android Police.


Android Match

Samsung Sound Assistant gets 2020 update, adds redesigned volume slider

Let's get vertical, vertical

Samsung started updating Good Lock, its one-stop-shop for customization, earlier this month to support Android 10. Notably absent was Sound Assistant, a tool offering in-depth tweaks to the system volume panel, as well as delving into the volume mixer to get things sounding just right. Today, Sound Assistant joins the rest of the Good Lock family with a new look and new features.

Left: Vertical volume slider, Middle: Sound panel, Right: Sound mixer

Most notable on the list of changes is what Samsung calls Sero, a theme that moves the volume slider to the side of the screen, matching the design stock Android switched to with Pie.

Read More

Samsung Sound Assistant gets 2020 update, adds redesigned volume slider was written by the awesome team at Android Police.


Android Match

LEGO Legacy: Heroes Unboxed is a F2P collect-a-thon RPG, now available on the Play Store (Update)

For some reason, LEGO has been busy this year lending out its brand to nefarious developers. Last week LEGO Star Wars Battles was announced, and it appears to be a free-to-play Clash Royale clone from Warner Bros. Today Gameloft's LEGO Legacy: Heroes Unboxed arrived on the Play Store for pre-registration, and it looks like a MARVEL Strike Force clone.

Read More

LEGO Legacy: Heroes Unboxed is a F2P collect-a-thon RPG, now available on the Play Store (Update) was written by the awesome team at Android Police.


Android Match

Plants vs. Zombies 3 leaves pre-alpha testing, enters soft launch in select territories

Nope, EA still hasn't actually released Plants vs. Zombies 3

Electronic Arts recently revealed that Plants vs. Zombies 3 has finally left its pre-alpha testing phase and has now entered into a soft-launch release cycle for select territories, and the Philippines is the first country to gain access. More countries will be added to the soft launch list in the future, though EA is still tight-lipped about any sort of expected time frame, and so the development of Plants vs. Zombies 3 will continue to trudge along during this technical testing phase.

Read More

Plants vs. Zombies 3 leaves pre-alpha testing, enters soft launch in select territories was written by the awesome team at Android Police.


Android Match

Gmail removed the option to empty spam and trash on Android

Your unwanted email will stick with you for 30 days

While the concept of "inbox zero" is appealing in theory, many of us just fail to achieve it. Instead, we do our best to archive or label messages, mark unwanted email as spam, and delete some threads when we're completely done with them. If you often use the last two options, you'll find Gmail for Android has introduced a new annoyance in your workflow as it's recently removed the handy option to completely get rid of spam and deleted messages.

Read More

Gmail removed the option to empty spam and trash on Android was written by the awesome team at Android Police.


Android Match

Gmail got slightly better at blocking malicious Office documents

Google's new machine-learning algorithm detects 10% more malware

Gmail's spam and malware filters are among the best in the industry and block 99.9% of threats from reaching inboxes, according to Google. That doesn't mean there isn't room for improvement, as 0.1% can scale up to quite a substantial absolute number considering Gmail's big user base. Google has identified that malware in attachments (Office documents, in particular) tends to be dangerous due to its ever-changing nature, so it has developed an improved malware scanner that utilizes machine learning to stay ahead of the curve.

Read More

Gmail got slightly better at blocking malicious Office documents was written by the awesome team at Android Police.


Android Match

Google Contacts for web adds back the ability to create multiple contacts

The feature had disappeared with the website redesign

Last year, Google finished its slow rollout of the newly Material-themed web interface for Contacts. While the visual upgrade was inarguably prettier, it ended up losing a pretty handy feature: the ability to add multiple names and/or email addresses at once. Fortunately, the feature recently reappeared, and you're now able to create multiple contacts, choose a label for them, or import them from a CSV or vCard file.

To create multiple contacts, you'll click on the "Create contact" button as usual, and select "Create multiple contacts." A new window will appear that lets you add names and emails manually, or import them from a file.

Read More

Google Contacts for web adds back the ability to create multiple contacts was written by the awesome team at Android Police.


Android Match

Data Encryption on Android with Jetpack Security

Posted by Jon Markoff, Staff Developer Advocate, Android Security

Illustration by Virginia Poltrack

Have you ever tried to encrypt data in your app? As a developer, you want to keep data safe, and in the hands of the party intended to use. But if you’re like most Android developers, you don’t have a dedicated security team to help encrypt your app’s data properly. By searching the web to learn how to encrypt data, you might get answers that are several years out of date and provide incorrect examples.

The Jetpack Security (JetSec) crypto library provides abstractions for encrypting Files and SharedPreferences objects. The library promotes the use of the AndroidKeyStore while using safe and well-known cryptographic primitives. Using EncryptedFile and EncryptedSharedPreferences allows you to locally protect files that may contain sensitive data, API keys, OAuth tokens, and other types of secrets.

Why would you want to encrypt data in your app? Doesn’t Android, since 5.0, encrypt the contents of the user's data partition by default? It certainly does, but there are some use cases where you may want an extra level of protection. If your app uses shared storage, you should encrypt the data. In the app home directory, your app should encrypt data if your app handles sensitive information including but not limited to personally identifiable information (PII), health records, financial details, or enterprise data. When possible, we recommend that you tie this information to biometrics for an extra level of protection.

Jetpack Security is based on Tink, an open-source, cross-platform security project from Google. Tink might be appropriate if you need general encryption, hybrid encryption, or something similar. Jetpack Security data structures are fully compatible with Tink.

Key Generation

Before we jump into encrypting your data, it’s important to understand how your encryption keys will be kept safe. Jetpack Security uses a master key, which encrypts all subkeys that are used for each cryptographic operation. JetSec provides a recommended default master key in the MasterKeys class. This class uses a basic AES256-GCM key which is generated and stored in the AndroidKeyStore. The AndroidKeyStore is a container which stores cryptographic keys in the TEE or StrongBox, making them hard to extract. Subkeys are stored in a configurable SharedPreferences object.

Primarily, we use the AES256_GCM_SPEC specification in Jetpack Security, which is recommended for general use cases. AES256-GCM is symmetric and generally fast on modern devices.

val keyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC)

For apps that require more configuration, or handle very sensitive data, it’s recommended to build your KeyGenParameterSpec, choosing options that make sense for your use. Time-bound keys with BiometricPrompt can provide an extra level of protection against rooted or compromised devices.

Important options:

  • userAuthenticationRequired() and userAuthenticationValiditySeconds() can be used to create a time-bound key. Time-bound keys require authorization using BiometricPrompt for both encryption and decryption of symmetric keys.
  • unlockedDeviceRequired() sets a flag that helps ensure key access cannot happen if the device is not unlocked. This flag is available on Android Pie and higher.
  • Use setIsStrongBoxBacked(), to run crypto operations on a stronger separate chip. This has a slight performance impact, but is more secure. It’s available on some devices that run Android Pie or higher.

Note: If your app needs to encrypt data in the background, you should not use time-bound keys or require that the device is unlocked, as you will not be able to accomplish this without a user present.

// Custom Advanced Master Key
val advancedSpec = KeyGenParameterSpec.Builder(
    "master_key",
    KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT
).apply {
    setBlockModes(KeyProperties.BLOCK_MODE_GCM)
    setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
    setKeySize(256)
    setUserAuthenticationRequired(true)
    setUserAuthenticationValidityDurationSeconds(15) // must be larger than 0
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
        setUnlockedDeviceRequired(true)
        setIsStrongBoxBacked(true)
    }
}.build()

val advancedKeyAlias = MasterKeys.getOrCreate(advancedSpec)

Unlocking time-bound keys

You must use BiometricPrompt to authorize the device if your key was created with the following options:

  • userAuthenticationRequired is true
  • userAuthenticationValiditySeconds > 0

After the user authenticates, the keys are unlocked for the amount of time set in the validity seconds field. The AndroidKeystore does not have an API to query key settings, so your app must keep track of these settings. You should build your BiometricPrompt instance in the onCreate() method of the activity where you present the dialog to the user.

BiometricPrompt code to unlock time-bound keys

// Activity.onCreate

val promptInfo = PromptInfo.Builder()
    .setTitle("Unlock?")
    .setDescription("Would you like to unlock this key?")
    .setDeviceCredentialAllowed(true)
    .build()

val biometricPrompt = BiometricPrompt(
    this, // Activity
    ContextCompat.getMainExecutor(this),
    authenticationCallback
)

private val authenticationCallback = object : AuthenticationCallback() {
        override fun onAuthenticationSucceeded(
            result: AuthenticationResult
        ) {
            super.onAuthenticationSucceeded(result)
            // Unlocked -- do work here.
        }
        override fun onAuthenticationError(
            errorCode: Int, errString: CharSequence
        ) {
            super.onAuthenticationError(errorCode, errString)
            // Handle error.
        }
    }

To use:
biometricPrompt.authenticate(promptInfo)

Encrypt Files

Jetpack Security includes an EncryptedFile class, which removes the challenges of encrypting file data. Similar to File, EncryptedFile provides a FileInputStream object for reading and a FileOutputStream object for writing. Files are encrypted using Streaming AEAD, which follows the OAE2 definition. The data is divided into chunks and encrypted using AES256-GCM in such a way that it's not possible to reorder.

val secretFile = File(filesDir, "super_secret")
val encryptedFile = EncryptedFile.Builder(
    secretFile,
    applicationContext,
    advancedKeyAlias,
    FileEncryptionScheme.AES256_GCM_HKDF_4KB)
    .setKeysetAlias("file_key") // optional
    .setKeysetPrefName("secret_shared_prefs") // optional
    .build()

encryptedFile.openFileOutput().use { outputStream ->
    // Write data to your encrypted file
}

encryptedFile.openFileInput().use { inputStream ->
    // Read data from your encrypted file
}

Encrypt SharedPreferences

If your application needs to save Key-value pairs - such as API keys - JetSec provides the EncryptedSharedPreferences class, which uses the same SharedPreferences interface that you’re used to.

Both keys and values are encrypted. Keys are encrypted using AES256-SIV-CMAC, which provides a deterministic cipher text; values are encrypted with AES256-GCM and are bound to the encrypted key. This scheme allows the key data to be encrypted safely, while still allowing lookups.

EncryptedSharedPreferences.create(
    "my_secret_prefs",
    advancedKeyAlias,
    applicationContext,
    PrefKeyEncryptionScheme.AES256_SIV,
    PrefValueEncryptionScheme.AES256_GCM
).edit {
    // Update secret values
}

More Resources

FileLocker is a sample app on the Android Security GitHub samples page. It’s a great example of how to use File encryption using Jetpack Security.

Happy Encrypting!


Android Match

Firefox Lite now has a useless travel-planning feature

Mozilla has several flavors of its Firefox browser for Android, with 'Firefox Lite' serving as the main choice for Indonesia and other Asian countries. Despite its name, the Lite browser has become more and more bloated over the past few months, and now there's a travel feature that isn't very helpful.

A recent update for Firefox Lite adds a new Travel button to the New Tab Page, where you can search for a location.

Read More

Firefox Lite now has a useless travel-planning feature was written by the awesome team at Android Police.


Android Match

Valve's Auto Chess competitor Dota Underlords is coming to Android (Update: Season 1 starts today)

It would appear that everyone's favorite new MOBA trend is Auto Chess, so of course, Valve has their own version in the works that's built off of Dota. The game is called Dota Underlords, and it just entered into a limited beta where Dota 2 Battle Pass owners can jump in early to test the waters on PC.

Read More

Valve's Auto Chess competitor Dota Underlords is coming to Android (Update: Season 1 starts today) was written by the awesome team at Android Police.


Android Match

Stadia Pro subscribers get Grid, SteamWorld Dig 2, and SteamWorld Quest for free in March

Arcade-action indie Spitlings also launches today

Just last week, Google announced that several games in the SteamWorld series were making their way to Stadia — with Dig 2 and Quest being Pro freebies upon launch. Turns out that's happening sooner than expected: SteamWorld Dig 2 and SteamWorld Quest will be Stadia Pro's free games in March, along with racing sim Grid.

This will be the first month since launch Stadia has offered three free Pro games — historically, it's been two per month.

Read More

Stadia Pro subscribers get Grid, SteamWorld Dig 2, and SteamWorld Quest for free in March was written by the awesome team at Android Police.


Android Match

Romancing SaGa Re;UniverSe is coming to Android summer 2020, pre-reg now available

Yet another F2P collection-based RPG from Square Enix

Much like Dragon Quest of the Stars (coincidentally released today), Romancing SaGa Re;UniverSe is an older gacha RPG that's coming to the West. You see, Square Enix actually released Romancing SaGa Re;UniverSe in Japan back in 2018, and apparently the title is coming to the West with an English translation in tow sometime this summer, and guess what, this English version just landed on the Play Store as a pre-registration listing.

Read More

Romancing SaGa Re;UniverSe is coming to Android summer 2020, pre-reg now available was written by the awesome team at Android Police.


Android Match

Google Assistant rolls out suggestions for faster keyboard input

Autocomplete, history, and contextual suggestions are part of it

For the times when you don't want to speak to your phone and tell the whole world you're turning on your bathtub or locking your front door, Google Assistant offers a keyboard input method which lets you type your requests instead. Suggestions used to show up when using this input, but then they disappeared either entirely or for many people. Now, they seem to be back for lots of users.

Simply trigger Assistant and tap the keyboard button at the bottom.

Read More

Google Assistant rolls out suggestions for faster keyboard input was written by the awesome team at Android Police.


Android Match

Dragon Quest of the Stars is available for download a day early, but you can't play it yet (Update: Out now)

Pre-download today, play tomorrow

Square Enix has revealed this morning that its mobile RPG Dragon Quest of the Stars is officially available on the Google Play Store for pre-download. We last heard about Dragon Quest of the Stars back in January when Square announced that the title was available for pre-registration and that it would be officially released on February 25th.

Read More

Dragon Quest of the Stars is available for download a day early, but you can't play it yet (Update: Out now) was written by the awesome team at Android Police.


Android Match

Netflix starts showing top 10 charts of its most popular content

The streaming service is being more transparent about its most viewed movies and series

Netflix has long shown you lists of popular content on its app's home screen, but so far, you could never see how exactly titles in those ranked. The company is looking to change that as it has announced that it's starting to roll out top 10 lists of most popular series and movies across all platforms and form factors.

The top 10 chart comes in the form of a new side-scrolling carousel with a unique design that puts huge numbers next to film and TV show covers, indicating which position they take in your country's ranking.

Read More

Netflix starts showing top 10 charts of its most popular content was written by the awesome team at Android Police.


Android Match

OnePlus Gallery update adds scene recognition and face detection (APK Download)

It also adds auto-generated albums to curate your photos

OnePlus regularly updates its gallery app to introduce new features and improvements, even if some of those features have been around in other photo apps for quite a while. The latest release has added facial recognition to group your photos, scene recognition to combine pics from the same locations, and auto-generated albums that will give you a collage when a barrage of photos is taken.

Most other major gallery apps have been offering these same features for a while, so it's great to see OnePlus bringing more to the table.

Read More

OnePlus Gallery update adds scene recognition and face detection (APK Download) was written by the awesome team at Android Police.


Android Match

51 temporarily free and 73 on-sale apps and games for Monday

Welcome to Monday, everyone. While it's always tough to face the beginning of the week, I'm glad to report that there are a plethora of sales on offer today, and CalenGoo is easily a standout, along with The House of Da Vinci, Gunslugs 2, and Siege of Dragonspear. Plus, all of 3 Minute Games' Lifeline titles are on sale today. As always, I've highlighted the interesting titles in bold to make discovery easier.

Read More

51 temporarily free and 73 on-sale apps and games for Monday was written by the awesome team at Android Police.


Android Match

Android Studio 3.6

Posted by Scott Swarthout, Product Manager

Android Studio logo

We are excited to announce the stable release of Android Studio 3.6 with a targeted set of features addressing quality in primarily code editing and debugging use cases. This is our first release after the end of Project Marble, which was focused on making the fundamental features and flows of the Integrated Development Environment (IDE) rock-solid. We learned a lot from Project Marble and in Android Studio 3.6 we introduce a small set of features, polished existing features, and spent a notable effort addressing bugs and improving underlying performance to ensure we meet the high quality bar we set in the past year.

Some highlights of Android Studio 3.6 include a new way to quickly design, develop and preview app layouts using XML, with a new Split View in the design editors. Additionally, you no longer have to manually type in GPS coordinates to test location with your app because we now embedded Google Maps right into the Android Emulator extended control panel. Finally, we’ve made it easier to optimize your app and find bugs with automatic memory leak detection for Fragments and Activities. We hope all of these features help you be happier and more productive while developing on Android.

Thank you to those who gave your early feedback in preview releases. Your feedback helped us iterate and improve features in Android Studio 3.6. If you are ready for the next stable release, and want to use a new set of productivity features, Android Studio 3.6 is ready to download for you to get started.

Below is a full list of new features in Android Studio 3.6, organized by key developer flows.

Design

Split view in design editors

Design editors, such as the Layout Editor and Navigation Editor, now provide a Split view that enables you to see both the Design and Code views of your UI at the same time. Split view replaces and improves upon the earlier Preview window, and can be configured on a file-by-file basis to preserve context information like zoom factor and design view options, so you can choose the view that works best for each use case. To enable split view, click the Split icon in the top-right corner of the editor window. Learn more.

Split view for design editors

Split view for design editors

Color picker resource tab

In this release we wanted to make it easier to apply colors you have defined as color resources. In Android Studio 3.6, the color picker populates the color resources in your app for you to quickly choose and replace color resources values. The color picker is accessible in the design tools as well as in the XML editor.

Color picker resource tab

Color picker resource tab

Develop

View binding

View binding is a feature that allows you to more easily write code that interacts with views by providing compile-time safety when referencing views in your code. When enabled, view binding generates a binding class for each XML layout file present in that module. In most cases, view binding replaces findViewById. You can reference all views that have an ID with no risk of null pointer or class cast exceptions.These differences mean that incompatibilities between your layout and your code will result in your build failing at compile time rather than at runtime. To enable view binding in your project, include the following in each module’s build.gradle file:

android {
    viewBinding.enabled = true
}

For more information, check out this blog post by one of our developer experts.

Android NDK updates

The following Android NDK features in Android Studio, previously supported in Java, are now also supported in Kotlin:

  • Navigate from a JNI declaration to the corresponding implementation function in C/C++. View this mapping by hovering over the C or C++ item marker near the line number in the managed source code file.
  • Automatically create a stub implementation function for a JNI declaration. Define the JNI declaration first and then type “jni” or the method name in the C/C++ file to activate.

Learn more

IntelliJ Platform Update

Android Studio 3.6 includes the IntelliJ 2019.2 platform release. This IntelliJ release includes many improvements from a new services tool window to much improved startup times. Learn more

Add classes with Apply Changes

You can now add a class and then deploy that code change to your running app by clicking either Apply Code Changes or Apply Changes and Restart Activity.

To learn more about the difference between these two actions, see Apply Changes.

Build

Android Gradle Plugin (AGP) updates

Android Gradle plugin 3.6 and higher includes support for the Maven Publish Gradle plugin, which allows you to publish build artifacts to an Apache Maven repository. The Android Gradle plugin creates a component for each build variant artifact in your app or library module that you can use to customize a publication to a Maven repository. This change will make it easier to manage the release lifecycle for your various targets. Learn more

Additionally, Android Gradle plugin has made significant performance improvement for annotation processing/KAPT for large projects. This is caused by AGP now generating R class bytecode directly, instead of .java files.

New packaging tool

The Android build team is continuously working on changes to improve build performance, and in this release we changed the default packaging tool to zipflinger for debug builds. Users should see an improvement in build speed, but you can also revert to using the old packaging tool by setting android.useNewApkCreator=false in your gradle.properties file.

Edit your gradle.properties file to disable the new packaging tool

Edit your gradle.properties file to disable the new packaging tool

Test

Android Emulator - Google Maps UI

Android Emulator 29.2.12 includes a new way for app developers to interface with the emulated device location. We embedded the Google Maps user interface in the extended controls menu to make it easier to specify locations and also to construct routes from pairs of locations. Individual points can be saved and re-sent to the device as the virtual location, while routes can be generated through typing in addresses or clicking two points. These routes can be replayed in real time as locations along the route are sent to the guest OS.

Android Emulator location UI with real-time location streaming

Android Emulator location UI with real-time location streaming

Multi-display support

Emulator 29.1.10 includes preliminary support for multiple virtual displays. As more devices are available that have multiple displays, it is important to test your app on a variety of multi-display configurations. Users can configure multiple displays through the settings menu (Extended Controls > Settings).

Multi-display support in Android Emulator

Multi-display support in Android Emulator

Configure secondary displays in the Android Emulator Extended Controls Panel

Configure secondary displays in the Android Emulator Extended Controls Panel

Resumable SDK downloads

When downloading Android SDK components and tools using the Android Studio SDK Manager, Android Studio now allows you to resume downloads that were interrupted (for example, due to a network issue) instead of restarting the download from the beginning. This enhancement is especially helpful for large downloads, such as the Android Emulator or system images, when internet connectivity is unreliable.

Pause and resume SDK downloads

Pause and resume SDK downloads

In-place updates for imported APKs

Android Studio allows you to import externally-built APKs to debug and profile them. Previously, when changes to those APKs were made, you would have to manually import them again and reattach symbols and sources. Android Studio 3.6 now automatically detects changes made to the imported APK file and gives you an option to re-import it in-place.

Attach Kotlin sources to imported APKs

We added support for attaching Kotlin source files to imported APKs. To learn more, see Attach Kotlin/Java sources.

Attach Kotlin/Java sources to imported APKs

Attach Kotlin/Java sources to imported APKs

Optimize

Leak detection in Memory Profiler

Based on your feedback, we’ve added in the Memory Profiler the ability to detect Activity and Fragment instances which may have leaked. To get started, capture or import a heap dump file in the Memory Profiler, and check the Activity/Fragment Leaks checkbox to generate the results. For more information on how Android Studio detects leaks, please see our documentation.

Detect leaked Activities and Fragments in the Memory Profiler

Detect leaked Activities and Fragments in the Memory Profiler

Deobfuscate class and method bytecode in APK Analyzer

When using the APK Analyzer to inspect DEX files, you can now deobfuscate class and method bytecode. While in the DEX file viewer, load the ProGuard mappings file for the APK you’re analyzing. When loaded, you will be able to right-click on the class or method you want to inspect by selecting Show bytecode. Learn more

Deobfuscate class and method bytecode by selecting Show Bytecode in the APK Analyzer

Deobfuscate class and method bytecode by selecting Show Bytecode in the APK Analyzer

To recap, Android Studio 3.6 includes these new enhancements & features:

Design

  • Split View in Design Editors
  • Color Picker Resource Tab

Develop

  • View binding
  • Android NDK support updates
  • IntelliJ Platform Update
  • Add classes with Apply Changes

Build

  • Android Gradle Plugin (AGP) Updates
  • New packaging tool

Test

  • Android Emulator Google Maps UI
  • Multi-display support
  • Resumable SDK downloads
  • In-place updates for imported APKs

Optimize

  • Leak detection in Memory Profiler
  • Deobfuscate class and method bytecode in APK Analyzer
  • Attach Kotlin sources to imported APKs

Getting Started

Download

Download Android Studio 3.6 from the download page. If you are using a previous release of Android Studio, you can simply update to the latest version of Android Studio. To use the mentioned Android Emulator features make sure you are running at least Android Emulator v29.2.12 downloaded via the Android Studio SDK Manager.

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


Android Match