Build kodi: Difference between revisions

From bibbleWiki
Jump to navigation Jump to search
Line 38: Line 38:


==Building Kodi on Android==
==Building Kodi on Android==
Get SDK and NDK<br>
*Get SDK Command Tools and NDK  
[[https://developer.android.com/ndk/downloads NDK]] <br>
*Set up Directory
[[https://developer.android.com/studio/ SDK]] <br>
==Get SDK Command Tools and NDK==
I used the following<br>
[[https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip cmdline-tools]] <br>
[[https://dl.google.com/android/repository/android-ndk-r20b-linux-x86_64.zip NDK]] <br>
<br>
Extract the zip files
export KODI_ANDROID=$HOME/dev/Android_Standalone
mkdir -p $KODI_ANDROID
unzip $KODI_ROOT/Downloads/commandlinetools-linux-6858069_latest.zip -d $KODI_ANDROID
unzip android-ndk-r20b-linux-x86_64.zip -d $KODI_ANDROID
<br>
==Set up NDK and SDK Directories==
Set SDK directory<br>
export KODI_SDK=$HOME/dev/Android_Standalone/cmdline-tools
mkdir -p $KODI_SDK
<br>
Set NDK directory<br>
export KODI_NDK=$HOME/dev/Android_Standalone/android-ndk-r20b
mkdir -p $KODI_NDK
<br>
 
<br>
<br>
<br>
Set root directory<br>
Set root directory<br>
  export KODI_ROOT=$HOME/dev
mkdkir -p $HOME/dev/KODI_ROOT
  export KODI_ROOT=$HOME/dev/KODI_ROOT
<br>
<br>
Unzip software<br>
mkdir -p $KODI_ROOT/android-tools/android-sdk-linux
unzip $KODI_ROOT/Downloads/sdk-tools-linux-4333796.zip -d $KODI_ROOT/android-tools/android-sdk-linux
unzip $KODI_ROOT/Downloads/android-ndk-r18b-linux-x86_64.zip -d $KODI_ROOT/android-tools
<br>
<br>
Accept Licenses<br>
Accept Licenses<br>
  cd $KODI_ROOT/android-tools/android-sdk-linux/tools/bin
  cd $KODI_ROOT/android-tools/android-sdk-linux/tools/bin

Revision as of 01:46, 25 March 2021

Building Kodi on Linux

Set root directory

export KODI_ROOT=$HOME/dev


Make sure git is installed

sudo apt install git


Change to your home directory

cd $KODI_ROOT


Clone Kodi's current master branch

git clone https://github.com/xbmc/xbmc kodi


Add Kodi's nightly PPA to grab dependencies

sudo add-apt-repository -s ppa:team-xbmc/xbmc-nightly


Super-duper magic command to get the build dependencies

sudo apt build-dep kodi


You can install ccache (optional)

sudo apt install ccache


Create an out-of-source build directory

mkdir $KODI_ROOT/kodi-build


Change to build directory

cd $KODI_ROOT/kodi-build


Configure build for App Render System

cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DAPP_RENDER_SYSTEM=gl


Build Kodi

cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN)


Build all add-ons

cd $/KODI_ROOTkodi
sudo make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/binary-addons PREFIX=/usr/local

Building Kodi on Android

  • Get SDK Command Tools and NDK
  • Set up Directory

Get SDK Command Tools and NDK

I used the following
[cmdline-tools]
[NDK]

Extract the zip files

export KODI_ANDROID=$HOME/dev/Android_Standalone
mkdir -p $KODI_ANDROID
unzip $KODI_ROOT/Downloads/commandlinetools-linux-6858069_latest.zip -d $KODI_ANDROID
unzip android-ndk-r20b-linux-x86_64.zip -d $KODI_ANDROID


Set up NDK and SDK Directories

Set SDK directory

export KODI_SDK=$HOME/dev/Android_Standalone/cmdline-tools
mkdir -p $KODI_SDK


Set NDK directory

export KODI_NDK=$HOME/dev/Android_Standalone/android-ndk-r20b
mkdir -p $KODI_NDK




Set root directory

mkdkir -p $HOME/dev/KODI_ROOT
export KODI_ROOT=$HOME/dev/KODI_ROOT



Accept Licenses

cd $KODI_ROOT/android-tools/android-sdk-linux/tools/bin
./sdkmanager --licenses
./sdkmanager platform-tools
./sdkmanager "platforms;android-26"
./sdkmanager "build-tools;25.0.3"


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


Create a key to sign

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


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