ElementumService
A service that executes binaries for Kodi's addon Elementum on Android without a W^X violation.
Build
Prepare an Elementum addon .zip
at path/to/plugin.video.elementum-
containing Android binaries for your device either by building the Elementum project or by downloading it from a release's assets.
Assuming you already have Android Studio setup, execute the following command in a terminal:
gradlew clean assembleRelease zipAndroidClient -DaddonZip="path/to/plugin.video.elementum-
.zip
"
and when it completes successfully look for the following files in the newly created build
folder:
-
plugin.video.elementum-
found directly in the.android_client.zip build
folder is the addon.zip
you provided with its binaries removed and scripts modified to work with the service app; -
ElementumService-
found in the-release- .apk build/outputs/apk/release
subfolder are one or more.apk
files containing the binaries from the addon.zip
you provided.
Install
Install an .apk
with an Application Binary Interface (ABI) that your device supports or the bigger universal one.
Add Elementum to Kodi from the .android_client.zip
. When the addon completes installation it'll start the service app which may ask you for some Android permissions.
Notes
From now on when Elementum starts its daemon it'll actually start the service app and when it stops it'll stop the service app.
You'll no longer be able to use paths to Kodi's data folder as they will be translated to the service app's data folder.
The output from the binaries will no longer appear in Kodi's log and will go to Android's log instead.