Introduction for (would-be) developers

I am new to Android development

You want to have complete control over your device? Install applications requiring root access? Change and develop system-level components? Remove Google services or bloatware? Update your device after official support has run out?

With Open Devices, that's easy. Follow the "AOSP Build Instructions" guide and you will be running your own build of the latest Android version on your phone, with full access and freedom to do what you want.

For more helpful tips, have a look at the Guides & Resources Page, or get in contact.

The fruits of your labour

Contributing patches

Once you're done building, we'd love to receive your improvements as contributions to the GitHub sonyxperiadev GitHub repositories via Pull Requests.

Requirements

  • Your device must be supported. Check the List of supported devices
  • Your device must be unlocked. Follow the steps in Unlocking the bootloader.
  • You must run Linux on your development computer. You can install Ubuntu from Windows or macOS inside a virtual machine, using WSL, or with docker.
  • 8GB, better 16GB of RAM
  • 150GB of free disk space, better 200 or more
  • Languages that Android uses: C, C++, Java, Kotlin, Go, GNU Make. Don't worry if you don't know all of these - you don't need to understand everything to get a working build.
  • You should enjoy experimenting a bit and be able to dig through code.

I am an existing developer

You might already be familiar with Android device development, but working with Sony devices is way more pleasant than you're used to.

We provide device trees on GitHub right out of the box, give you an up-to-date build guide, and all the needed binaries.

The process is pretty simple:

  1. Sync the repos using repo, run repo_update, hit "build".
  2. Flash images to device.
  3. Flash Sony-provided Software Binaries to oem partition.

Et voilĂ , that's all there is to it. The build guide should get you up to speed.

For information on how to build SailfishOS or Ubuntu Touch, have a look at the Guides & Resources Page.


Nice features
  • Fully unlockable bootloaders
  • No blob hexpatching, no shim libs
  • Software binaries released by Sony, downloadable from their website - no fears of DMCA!
  • One unified kernel for all devices
  • Longevity: Most devices are maintained for up to 4 years after release
  • You no longer permanently lose DRM features by unlocking bootloader - relocking bootloader gives you back L1 widevine 1

1: The stories you might've heard about DRM keys being lost stem from older devices. From Kumano (Xperia 1, Xperia 5) onwards, L1 widevine is restored upon re-locking the bootloader.

Further information

Open Devices ("SODP") is sort of a "meta"-project. While we do offer ready device trees and builds are available publicly for most devices, our goal is not to be a specific distribution. We rather want to serve as a base for other projects. Thanks to our repo_update script, you can port Sony devices to LineageOS or other custom ROMs very quickly, and Jolla, the company behind SailfishOS, has chosen SODP as the base for their commercial Sailfish X offering.

You might be asking yourself: "Sony has Open-Source initiatives?" That Sony? Thankfully, Sony Mobile has been a separate division inside the corporation and still operates mostly independently in Sweden.
Open Devices is a bit of a hidden gem - Sony doesn't pay shills on xda-developers or pretend to "seed" devices publicly. There's just this semi-secret developer program with unlocked bootloaders and an actual developer relations team from Sony who release (stock) Kernel sources on time and respond to community wishes.

With run-off-the-mill Android devices, most of the source is available, but actual required proprietary modules are hidden in obscure repos, with the Damocles' sword of DMCA from device OEMs like Xiaomi always looming.
With Open Devices, however, you get regular fully legal releases in the form of a zip file from the Sony website - with the possibility of asking for new and updated blobs.

We also maintain one unified kernel for all devices (currently version 4.14). And we do actual kernel upgrades! Since we are not locked into the binaries the BSP manufacturer provides us, we can upgrade devices which launched with 3.18 to 4.9; 4.4 devices got 4.14, with the possibility of mainlining later on.
LTS upgrades and security patches are merged regularly.

Other nice features

As opposed to custom ROMS, we don't have any roomservice script, we just provide our own local_manifests and require you to run the repo_update.sh script once after syncing.
Take a look at how easy the integration is for PixelExperience - only a single device_sony_customization repo is required.

We try to keep close to AOSP, and, as such, try to keep very few forked HALs and little reliance on Qualcomm quirks.

On Linux, everything already works out of the box. For Windows, there are fastboot drivers available for every device from the Sony website.

There's a support tool from Sony called "Emma" to allow flashing firmware, with archives for every Android release. See it in action in this video.

Note: This is an unofficial community page about the Open Devices Project by Sony. For the official website, refer to Open Devices · Sony.com. This page is neither affiliated with nor endorsed by Sony or any of its subsidiaries.