LineageOS Developers Announce the LineageSDK for Developers
After the transition from CyanogenMod to LineageOS, the folks behind the scenes have been working to get version 14.1 running smoothly on as many devices as possible. Over the last few weeks we have seen official LineageOS 15.1 builds made available for a select number of devices. However, since the prerequisites are more strict than previous versions, some are feeling the progress has been a bit slow. The team has been working on a way to encourage developers to tap into the LineageOS platform with the newly introduced LineageSDK.
LineageOS isn’t a custom ROM that packs in every single feature under the sun, but there are a lot of customization options available to the end user. The goal of the LineageSDK is to make LineageOS a fun place for developers. Some feel the new device support requirement list is a bit too harsh, but it helps to give the community confidence in the quality of LineageOS. Not only that, but it also ensures developers that their application will not end up in a bad state because of inappropriate Android API changes or broken hardware support.
To take this idea a step further, the team is announcing some APIs that will allow applications to do more when they’re installed on a LineageOS device. The first public iteration of the Lineage platform SDK (LineageSDK for short) starts with Ilama (API 9) and it provides your applications with a set of useful APIs. The first one highlighted in the announcement post is the Styles API which allows developers the ability to give their application an optional automatic dark theme by just using the official AppCompat-v7 library.
The second LineageSDK API highlighted in this release is the Profiles API that allows developers to leverage LineageOS’ system profiles feature. These profiles can change several device’s preferences with a single click or can be enabled automatically with a predefined trigger (using WiFi, Bluetooth and/or NFC). With this new Profiles API, a developer can extend the trigger capabilities by enabling one of these profiles that could be both user-created or predefined.
LineageSDK API 9 is just the start and is currently rolling out to this week’s LineageOS 15.1 builds. New versions of the LineageSDK will be announced in the future in “regularly irregular blog posts” when a new API has been added and stabilized. The SDK along with the new APIs are open source so developers can find the details on their Gerrit page. It is recommended that you check out the wiki page to get started, which includes all the documentation including example snippets and the javadoc.