参考官方网站:
https://github.com/xbmc/xbmc/blob/master/docs/README.android
版本 16.1编译移植请参考:
http://blog.youkuaiyun.com/zuiaikg703/article/details/52356231
最新 版本编译移植请参考:
http://blog.youkuaiyun.com/bowen90/article/details/51281137
版本 16.1编译移植请参考:
http://blog.youkuaiyun.com/zuiaikg703/article/details/52356231
最新 版本编译移植请参考:
http://blog.youkuaiyun.com/bowen90/article/details/51281137
1. 编译主机系统 Ubuntu (14.04) 64Bit
2. 在Ubuntu上安装必要的工具
2.1. 基础工具包
ubuntu 12.04 要安装的包:
ubuntu 12.04 要安装的包:
$ sudo apt-get install
build-essential default-jdk git curl autoconfunzip zip zlib1g-dev gawk gperf cmake libcurl4-openssl-dev \
lib32stdc++6 lib32z1 lib32z1-dev ia32-libs
ubuntu 14.04 要安装的包:
sudo apt-get install automake bison build-essential cmake curl cvs \
default-jre fp-compiler gawk gdc gettext git-core gperf libasound2-dev libass-dev \
libbz2-dev libcap-dev libcdio-dev libcurl3 \
libcurl4-openssl-dev libdbus-1-dev libfontconfig-dev libegl1-mesa-dev libfreetype6-dev \
libfribidi-dev libgif-dev libiso9660-dev libjpeg-dev liblzo2-dev \
libmicrohttpd-dev libmodplug-dev libmysqlclient-dev libnfs-dev \
libpcre3-dev libplist-dev libpng-dev libpulse-dev libsdl2-dev libsmbclient-dev \
libsqlite3-dev libssh-dev libssl-dev libtinyxml-dev libtool libudev-dev libusb-dev \
libva-dev libvdpau-dev libxml2-dev libxmu-dev libxrandr-dev \
libxrender-dev libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount Python-dev \
python-imaging python-sqlite swig unzip uuid-dev yasm zip zlib1g-dev
如果是64位,还需安装:
ubuntu 14.04 要安装的包:
sudo apt-get install automake bison build-essential cmake curl cvs \
default-jre fp-compiler gawk gdc gettext git-core gperf libasound2-dev libass-dev \
libbz2-dev libcap-dev libcdio-dev libcurl3 \
libcurl4-openssl-dev libdbus-1-dev libfontconfig-dev libegl1-mesa-dev libfreetype6-dev \
libfribidi-dev libgif-dev libiso9660-dev libjpeg-dev liblzo2-dev \
libmicrohttpd-dev libmodplug-dev libmysqlclient-dev libnfs-dev \
libpcre3-dev libplist-dev libpng-dev libpulse-dev libsdl2-dev libsmbclient-dev \
libsqlite3-dev libssh-dev libssl-dev libtinyxml-dev libtool libudev-dev libusb-dev \
libva-dev libvdpau-dev libxml2-dev libxmu-dev libxrandr-dev \
libxrender-dev libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount Python-dev \
python-imaging python-sqlite swig unzip uuid-dev yasm zip zlib1g-dev
如果是64位,还需安装:
sudo apt-get update
sudo apt-get install gcc-multilib lib32z1 lib32stdc++6
2.2 安装jdk和jre
openjdk-6-jdk (java version "1.6.0_27")
openjre-6-jre (java version "1.6.0_27")
openjre-6-jre (java version "1.6.0_27")
3. 建立Android开发环境
3.1 下载 Android SDK和NDK,百度网盘地址:
https://pan.baidu.com/s/1o84Uijo
解压或者按照到如下目录
https://pan.baidu.com/s/1o84Uijo
解压或者按照到如下目录
/opt目录下
3.2 安装platform, platform-tool和build-tools
./android update sdk -u -t platform,platform-tool
./android update sdk -u -t build-tools-20.0.0
./android update sdk -u -t build-tools-20.0.0
上一步,也可以通过到/opt/android-sdk-linux/tools目录下运行sudo ./android sdk命令,打开DDMS工具,有选择的更新对应的工具,不需要更新所有的版本
注:由于android官网被国内墙了,所以上面的下载sdk和安装会有点麻烦,可以去第三方网站下载和更新(可能不是最新的)
注:由于android官网被国内墙了,所以上面的下载sdk和安装会有点麻烦,可以去第三方网站下载和更新(可能不是最新的)
3.3 安装Android工具链
# cd /opt/android-ndk-r10d
# ls platforms
# cd build/tools
# ./make-standalone-toolchain.sh --package-dir=../../ --install-dir=/opt/arm-linux-androideabi-4.9-vanilla
/android-21 --platform=android-21 --toolchain=arm-linux-androideabi-4.9
3.4 新建立一个debug key用于给apk签名
# 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
4. 获取XBMC源码
# cd $HOME
# git clone git://github.com/xbmc/xbmc.git kodi-android
# cd kodi-android
# git submodule update --init addons/skin.re-touched
5. 编译步骤
5.1 Building dependencies
# cd $HOME/kodi-android/tools/depends
# ./bootstrap
# ./configure --with-tarballs=/home/skyworth/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=/opt/android/sdk --with-ndk=/opt/android/sdk/ndk-bundle --with-toolchain=/opt/arm-linux-androideabi-4.9-vanilla/android-21 --prefix=/home/luxun/workspace/kokdi/xbmc-depends --with-sdk=android-21
生成的configure信息:
#------- configuration -------#
build type: debug
toolchain: /opt/arm-linux-androideabi-4.9-vanilla/android-21
cpu: armeabi-v7a
host: arm-linux-androideabi
cflags: -DANDROID -fexceptions -fPIC -DPIC -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=neon -Og -g -D_DEBUG
cxxflags: -std=gnu++11 -DANDROID -fexceptions -fPIC -DPIC -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=neon -frtti -Og -g -D_DEBUG
ldflags: -L/opt/xbmc-depends/arm-linux-androideabi-android-21-debug/lib/android-21
prefix: /opt/xbmc-depends
depends: /opt/xbmc-depends/arm-linux-androideabi-android-21-debug
sdk-platform: android-21
build-tools: /opt/android/sdk/tools:/opt/android/sdk/platform-tools:/opt/android/sdk/build-tools/25.0.2
生成的configure信息:
#------- configuration -------#
build type: debug
toolchain: /opt/arm-linux-androideabi-4.9-vanilla/android-21
cpu: armeabi-v7a
host: arm-linux-androideabi
cflags: -DANDROID -fexceptions -fPIC -DPIC -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=neon -Og -g -D_DEBUG
cxxflags: -std=gnu++11 -DANDROID -fexceptions -fPIC -DPIC -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=neon -frtti -Og -g -D_DEBUG
ldflags: -L/opt/xbmc-depends/arm-linux-androideabi-android-21-debug/lib/android-21
prefix: /opt/xbmc-depends
depends: /opt/xbmc-depends/arm-linux-androideabi-android-21-debug
sdk-platform: android-21
build-tools: /opt/android/sdk/tools:/opt/android/sdk/platform-tools:/opt/android/sdk/build-tools/25.0.2
# make -j 10
5.2. Building Kodi
# cd $HOME/kodi-android
# make -C tools/depends/target/xbmc debug(release)
//==如果不写debug or release,默认 为debug 版本
生成的configure信息(这是kodi 16.1的版本信息):------------------------
Kodi Configuration:
------------------------
Kodi Version: 16.1
git Rev.: 20161120-beac347
Shared lib Yes
Debugging: Yes
Profiling: No
Optimization: Yes
SWIG Available: Yes
JRE Available: Yes
Doxygen Available: No
Crosscomp.: Yes
Native Root: /home/luxun/workspace/xbmc-depends/x86_64-linux-gnu-native
target ARCH: arm
target CPU: cortex-a9
OpenGLES: Yes
ALSA: No
DBUS: No
VDPAU: No
VAAPI: No
VTBDecoder: No
OpenMax: No
Joystick: No
Touch skin: No
X11: No
Wayland: No
Bluray: Yes
TexturePacker:Yes
MID Support: No
ccache: No
ALSA Support: No
PulseAudio: No
DVDCSS: Yes
Google Test Framework Configured: Yes
Google Breakpad Configured: Yes
Avahi: No
mDNSEmbedded: Yes
Non-free: Yes
ASAP Codec: No
MySQL: Yes
Webserver: Yes
libssh support: Yes
libRTMP support: Yes
libsmbclient support: Yes
libnfs client support:Yes
libgif support: Yes
AirPlay support: Yes
AirTunes support (libshairplay): Yes
UPnP support: Yes
Optical drive: No
libudev support: No
libusb support: Yes
libcec support: No
libcap support: No
additional players: No
additional codecs: Yes, amcodec
prefix: /home/luxun/workspace/xbmc-depends/arm-linux-androideabi-android-17
------------------------
生成的configure信息(这是kodi 16.1的版本信息):------------------------
Kodi Configuration:
------------------------
Kodi Version: 16.1
git Rev.: 20161120-beac347
Shared lib Yes
Debugging: Yes
Profiling: No
Optimization: Yes
SWIG Available: Yes
JRE Available: Yes
Doxygen Available: No
Crosscomp.: Yes
Native Root: /home/luxun/workspace/xbmc-depends/x86_64-linux-gnu-native
target ARCH: arm
target CPU: cortex-a9
OpenGLES: Yes
ALSA: No
DBUS: No
VDPAU: No
VAAPI: No
VTBDecoder: No
OpenMax: No
Joystick: No
Touch skin: No
X11: No
Wayland: No
Bluray: Yes
TexturePacker:Yes
MID Support: No
ccache: No
ALSA Support: No
PulseAudio: No
DVDCSS: Yes
Google Test Framework Configured: Yes
Google Breakpad Configured: Yes
Avahi: No
mDNSEmbedded: Yes
Non-free: Yes
ASAP Codec: No
MySQL: Yes
Webserver: Yes
libssh support: Yes
libRTMP support: Yes
libsmbclient support: Yes
libnfs client support:Yes
libgif support: Yes
AirPlay support: Yes
AirTunes support (libshairplay): Yes
UPnP support: Yes
Optical drive: No
libudev support: No
libusb support: Yes
libcec support: No
libcap support: No
additional players: No
additional codecs: Yes, amcodec
prefix: /home/luxun/workspace/xbmc-depends/arm-linux-androideabi-android-17
------------------------
# make
# make apk
修改方面的,目前KODI全部都是以插件形式放进去的。如果要放入插件,例如SKIN,请将下载的SKIN解压出来后,放入到kodi-android/addons目录下,然后自己加makefile.in文件到新skin的media目录下,可以参考默认skin的内的文件.
修改方面的,目前KODI全部都是以插件形式放进去的。如果要放入插件,例如SKIN,请将下载的SKIN解压出来后,放入到kodi-android/addons目录下,然后自己加makefile.in文件到新skin的media目录下,可以参考默认skin的内的文件.

本文详细介绍了如何编译和移植开源播放器kodi,包括其依赖项的构建过程。
112

被折叠的 条评论
为什么被折叠?



