Google Play currently lets you install Cross-Device Services onto any Android 13 device

Although Google Play currently lets you install Cross-Device Services onto any Android 13 device, the Android-to-Chromebook app streaming feature will NOT work for you unless you the app was already preinstalled in the OS by the OEM. For example, we could install Cross-Device Services onto my Zenfone 8 running Android 13. It installs fine, but it will never work for one reason: It can’t get the permissions it needs!

Problem 1: Priv-app permissions. Cross-Device Services requests several permissions that can only be granted to privileged apps (located in a priv-app directory) through Android’s privileged permission allow listing mechanism. This must be done at build time by the OEM.

Problem 2: COMPANION_DEVICE_APP_STREAMING role. Some of the other important permissions the app needs (like the ability to create a virtual display!) are granted when the app becomes the COMPANION_DEVICE_APP_STREAMING role holder.

This role can only be given to system apps, however. The pop-up that you see when you’re setting up app streaming is you making the Cross-Device Services app the role holder.

So how can OEMs bring app streaming to their devices?

1) Include Google’s Cross-Device Services stub in their build and implement the priv-app permission allowlist.

2) Declare the “com.google.ambient.streaming” feature.

3) ????

4) Profit!

In all seriousness, Google has only rolled out the app streaming feature to a very small number of people, not including me. We had to manually enable it to show it off earlier. So even if you have one of the devices we mentioned before, you may not have this feature because you need to enable a few flags on the Chrome OS AND Android side. If/when Google announces this, they’ll flip those flags for you server-side.

FOLLOW US ON – Telegram, Twitter, Facebook and Google News

Leave a Comment