XBIC编译

Posted 白嫩豆腐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XBIC编译相关的知识,希望对你有一定的参考价值。

前言

KODI是目前4K播放器中兼容性比较好的一个播放器。并且用C++开发,代码结构比较清晰。但是为了UI跨平台,自己写了一套框架,所以二次开发还是比较苦难的,不过这里需要参考相关代码,就阅读了相关代码。

正文

kodi因为UI天然跨平台,和平台相关的代码比较少,所以编译整体比较简单。根据代码中的文档,一般情况下即可编译通过,不过因为一些网络问题,很容易编译出错。下面记录一下相关流程。其实核心问题就是下载第三方库。编译平台是ubuntu 20.04

下载

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

2. 安装编译工具

sudo apt install autoconf build-essential curl default-jdk gawk git gperf lib32stdc++6 lib32z1 lib32z1-dev libcurl4-openssl-dev unzip zlib1g-dev

3. Prerequisites

安装android 编译工具 SDK和NDK,每一个android开发都会有相关工具,不过NDK版本变化还是比较多,这里直接安装特定的版本,和我们自己的SDK和NDK分开,方便编译,我们下载SDK-command,通过自带工具下载我们需要平台,以及NDK的21版本

3.1. 下载SDK和NDK

可以通过下载SDK-comman下载必要的版本。

cd $HOME/android-tools/android-sdk-linux/cmdline-tools/tools/bin
./sdkmanager --sdk_root=$(pwd)/../.. --licenses
./sdkmanager --sdk_root=$(pwd)/../.. platform-tools
./sdkmanager --sdk_root=$(pwd)/../.. "platforms;android-28"
./sdkmanager --sdk_root=$(pwd)/../.. "build-tools;28.0.3"

3.3. 生成key

系统没有编译过android应用的。

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

5. 构建第三方依赖库

准备脚本

cd $HOME/kodi/tools/depends
./bootstrap

Configure build for aarch64:

./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=aarch64-linux-android --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r21e --prefix=$HOME/android-tools/xbmc-depends

Or configure build for arm:

./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r21e --prefix=$HOME/android-tools/xbmc-depends

Build tools and dependencies:

make -j12

这里会下载大量的包,以及会从github上clone项目,都经常会失败以及文件异常,很多时候还不会自动删除异常文件。这里编译失败,记得删除xbmc-tarballs中的异常文件,关于github项目下载异常可以找代理网站,如果之后编译继续异常,可以删除xbmc-depends重新编译。

7. 构建

配置编译脚本:

cd $HOME/kodi
make -C tools/depends/target/cmakebuildsys
mkdir $HOME/kodi-build
make -C tools/depends/target/cmakebuildsys BUILD_DIR=$HOME/kodi-build

Build Kodi:

cd $HOME/kodi-build
make -j8

8. Package

生成apk

make apk

后记

网络问题成为重大的坑,

以上是关于XBIC编译的主要内容,如果未能解决你的问题,请参考以下文章

XBIC编译

XBIC编译

是否可以动态编译和执行 C# 代码片段?

Notepad++编辑器——Verilog代码片段直接编译

导致资产预编译在heroku部署上失败的代码片段

如何有条件地将 C 代码片段编译到我的 Perl 模块?