kodi 开源播放器的编译移植

本文详细介绍了如何编译和移植开源播放器kodi,包括其依赖项的构建过程。
参考官方网站: 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

 1. 编译主机系统 Ubuntu (14.04) 64Bit
2. 在Ubuntu上安装必要的工具
2.1. 基础工具包
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位,还需安装:
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")
 
3. 建立Android开发环境
 
3.1 下载  Android SDK和NDK,百度网盘地址:

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
 
上一步,也可以通过到/opt/android-sdk-linux/tools目录下运行sudo ./android sdk命令,打开DDMS工具,有选择的更新对应的工具,不需要更新所有的版本
注:由于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

# 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
------------------------

# make
# make apk

修改方面的,目前KODI全部都是以插件形式放进去的。如果要放入插件,例如SKIN,请将下载的SKIN解压出来后,放入到kodi-android/addons目录下,然后自己加makefile.in文件到新skin的media目录下,可以参考默认skin的内的文件.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值