Build kodi: Difference between revisions
Jump to navigation
Jump to search
Line 37: | Line 37: | ||
===Create Android Build Directory (KODI_ANDROID_BUILD)=== | ===Create Android Build Directory (KODI_ANDROID_BUILD)=== | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
export KODI_BUILD_DIR=$ | export KODI_BUILD_DIR=$KODI_ANDROID_ROOT/KODI_ANDROID_BUILD | ||
mkdir -p $KODI_BUILD_DIR | mkdir -p $KODI_BUILD_DIR | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===Create Android Build Directory (KODI_ANDROID_SOURCE)=== | ===Create Android Build Directory (KODI_ANDROID_SOURCE)=== | ||
We do not need to make this directory as git does this | We do not need to make this directory as git does this |
Revision as of 00:29, 26 March 2021
Building Kodi on Linux
Set Kodi root directory
export KODI_ROOT=$HOME/dev/KODI_ANDROID_ROOT cd $KODI_ROOT
Get Source
Get the source and add Kodi's nightly PPA to grab dependencies
git clone https://github.com/xbmc/xbmc kodi
sudo add-apt-repository -s ppa:team-xbmc/xbmc-nightly
Prepare to Build
sudo apt build-dep kodi sudo apt install ccache
Create an out-of-source build directory
mkdir $KODI_ROOT/kodi-build cd $KODI_ROOT/kodi-build
Configure and Build Kodi
Configure build for App Render System==
cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local/kodi -DAPP_RENDER_SYSTEM=gl cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN)
Build Kodi Addons
cd $/KODI_ROOT/kodi make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/binary-addons PREFIX=/usr/local/kodi
Building Kodi on Android
Create Android Directories
Create Android ROOT (KODI_ANDROID_ROOT) Directory
export KODI_ANDROID_ROOT=$HOME/dev/KODI_ANDROID_ROOT
mkdir -p $KODI_ANDROID_ROOT
cd $KODI_ANDROID_ROOT
Create Android Build Directory (KODI_ANDROID_BUILD)
export KODI_BUILD_DIR=$KODI_ANDROID_ROOT/KODI_ANDROID_BUILD
mkdir -p $KODI_BUILD_DIR
Create Android Build Directory (KODI_ANDROID_SOURCE)
We do not need to make this directory as git does this
export KODI_ANDROID_SOURCE=$KODI_ROOT/kodi
#mkdir -p $KODI_ANDROID_SOURCE
Create Android directory (KODI_ANDROID)
export KODI_ANDROID=$HOME/dev/Android_Standalone
mkdir -p $KODI_ANDROID
Create Android SDK directory (KODI_SDK)
export KODI_SDK=$KODI_ANDROID/cmdline-tools
mkdir -p $KODI_SDK
Create Android NDK directory (KODI_NDK)
export KODI_NDK=$KODI_ANDROID/android-ndk-r20b
mkdir -p $KODI_NDK
Prerequisites
Get SDK Command Tools and NDK
I used the following
wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
wget https://dl.google.com/android/repository/android-ndk-r20b-linux-x86_64.zip
Extract the zip files
unzip $KODI_ROOT/Downloads/commandlinetools-linux-6858069_latest.zip -d $KODI_ANDROID
unzip android-ndk-r20b-linux-x86_64.zip -d $KODI_ANDROID
Accept Licenses (And Get SDK Bits)
cd $KODI_SDK/bin
./sdkmanager --licenses --sdk_root=$KODI_SDK
./sdkmanager platform-tools --sdk_root=$KODI_SDK
./sdkmanager "platforms;android-28" --sdk_root=$KODI_SDK
./sdkmanager "build-tools;28.0.3" --sdk_root=$KODI_SDK
Create a key to sign
I found this already existed. Hopefully will update if this proves to be a problem
keytool -genkey -keystore ~/.android/debug.keystore -v -alias androiddebugkey -dname "CN=Android Debug,O=Android,C=US" -keypass android -storepass android -keyalg RSA -keysize 2048 -validity 10000
Get Source
cd $KODI_ROOT
git clone https://github.com/xbmc/xbmc kodi
Configure
cd $KODI_ANDROID_SOURCE/tools/depends
./bootstrap
./configure --with-tarballs=$KODI_ANDROID_SOURCE/xbmc-tarballs \
--host=arm-linux-androideabi --with-sdk-path=$KODI_SDK \
--with-ndk-path=$KODI_NDK --prefix=$KODI_ANDROID_SOURCE/xbmc-depends BUILD_DIR=$KODI_BUILD_DIR
Build Android Kodi
Build tools and dependencies=
make -j$(getconf _NPROCESSORS_ONLN) BUILD_DIR=$KODI_BUILD_DIR
Build Android Kodi Binary Addons
cd $KODI_ANDROID_SOURCE
make -C tools/depends/target/cmakebuildsys BUILD_DIR=$KODI_BUILD_DIR
Build Android Kodi
make -C tools/depends/target/cmakebuildsys BUILD_DIR=$KODI_BUILD_DIR
cd $KODI_BUILD_DIR
make -j$(getconf _NPROCESSORS_ONLN) BUILD_DIR=$KODI_BUILD_DIR
Package Android Kodi
This will run gradle and create the Apk
make apk
Stuff to Delete
Change to Android NDK tools directory
cd $KODI_ROOT/android-tools/android-ndk-r18b/build/tools
Set up toolchain
./make-standalone-toolchain.sh --install-dir=$KODI_ROOT/android-tools/arm-linux-androideabi-vanilla/android-21 --platform=android-21 --toolchain=arm-linux-androideabi
Clone Kodi's current master branch
cd $KODI_ROOT git clone https://github.com/xbmc/xbmc kodi
Prepare to configure build
cd $KODI_ROOT/kodi/tools/depends ./bootstrap
Configure build for arm Kodi 17
./configure --with-tarballs=$KODI_ROOT/android-tools/xbmc-tarballs --with-ndk-api=24 --host=arm-linux-androideabi --with-sdk=android-26 --with-sdk-path=$KODI_ROOT/android-tools/android-sdk-linux --with-ndk=$KODI_ROOT/android-tools/android-ndk-r18b --with-toolchain=$KODI_ROOT/android-tools/arm-linux-androideabi-vanilla/android-24 --prefix=$KODI_ROOT/android-tools/xbmc-depends
Configure build for arm Kodi 18
./configure --with-tarballs=$KODI_ROOT/android-tools/xbmc-tarballs --with-ndk-api=24 --host=arm-linux-androideabi --with-sdk-path=$KODI_ROOT/android-tools/android-sdk-linux --with-ndk-path=$KODI_ROOT/android-tools/android-ndk-r18b --with-toolchain=$KODI_ROOT/android-tools/arm-linux-androideabi-vanilla/android-24 --prefix=$KODI_ROOT/android-tools/xbmc-depends
Build tools and dependencies
make -j$(getconf _NPROCESSORS_ONLN)
For Kodi 17 on Bionic code will need to be fixed see Kodi Krypton Fixes
Build all add-ons
cd $KODI_ROOT/kodi
make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/binary-addons
Build Kodi
Configure CMake build:
cd $KODI_ROOT/kodi make -C tools/depends/target/cmakebuildsys
Build Kodi
cd $KODI_ROOT/kodi/build make -j$(getconf _NPROCESSORS_ONLN)
Create package
make apk
Building Amended PVR IPTV Simple Plugin Linux
cd $KODI_ROOT git clone https://github.com/bibble235/pvr.iptvsimple cd pvr.iptvsimple && mkdir build && cd build cmake -DADDONS_TO_BUILD=pvr.iptvsimple -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../xbmc/addons -DPACKAGE_ZIP=1 ../../xbmc/cmake/addons make
Building Amended PVR IPTV Simple Plugin Android
cd $KODI_ROOT git clone https://github.com/bibble235/pvr.iptvsimple cd pvr.iptvsimple && mkdir build && cd build cmake -DADDONS_TO_BUILD=pvr.iptvsimple -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../kodi/addons -DPACKAGE_ZIP=1 \ -DCMAKE_TOOLCHAIN_FILE=$KODI_ROOT/Android/kodi/tools/depends/target/binary-addons/arm-linux-androideabi-21-debug/build/depends/share/Toolchain_binaddons.cmake \ ../../kodi/cmake/addons make