美文网首页GB 移动小组
Kodi 播放器开源项目

Kodi 播放器开源项目

作者: 寒冬_腊月 | 来源:发表于2016-12-17 16:53 被阅读547次

    XBMC是一个优秀的自由和开源的(GPL)媒体中心软件。XBMC最初为Xbox而开发,可以运行在Linux、OSX、Windows、Android系统,用Assembly, C, C++, Python来开发,现在最新的版本是17.0,今天就来记录一下在Android系统上的编译和自己遇到一个小坑, 希望可以帮助到大家。

    一、环境搭建

    系统: Ubuntu 16.04 LTS 64位
    编辑器: Android Studio
    其他: Android SDK、Android NDK,

    注:platform 目录下面得有android-21, 后面编译就是在android 5.0上的,NDK的版本最好是12以上的,我这边用的是android-ndk-r12b,还有这里为了方便把sdk和ndk都解压到用户目录下($HOME)

    二、安装相应的库

    # sudo apt-get install build-essential default-jdk git curl autoconf unzip zip zlib1g-dev gawk gperf cmake lib32stdc++6 lib32z1 lib32z1-dev lib32ncurses5

    三、开始重要的一步-编译(这里费了不少脑细胞)

    首先根据具体的选择相应的平台:arm、arm64、x86;我这边选择的是arm
    
    • Building for arm architecture
    # cd <android-ndk>
    # ls platforms //查看是否有相应的android编译版本(android-21)
    # cd build/tools
    # ./make-standalone-toolchain.sh --ndk-dir=../../ --install-dir=/home/tovi/android-toolchain-arm-zw/android-21 --platform=android-21 --toolchain=arm-linux-androideabi-4.9
    
    • Building dependencies
    # cd $HOME/kodi-android/tools/depends
    # ./bootstrap
    # ./configure --with-tarballs=/home/tovi/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=/home/tovi/android-sdk --with-ndk=/home/tovi/android-ndk-r12b --with-toolchain=/home/tovi/android-toolchain-arm-zw/android-21 --prefix=/home/tovi/xbmc-depends
    # make -j20
    # make -C target/binary-addons
    
    • Building Kodi
    #cd $HOME/kodi-android
    #make -C tools/depends/target/xbmc
    #make -j20 //这里参数是指定job个数,官方给的建议是-j20
    #make apk //在kodi的根目录下生成apk
    

    注:详细的可以参考源代码中的
    readme(kodi_code/docs/README.android)
    readme(kodi_code/tools/depends/README)

    记录一下自己编译的时候遇到的坑

    • 安装的ndk版本不对. 由于Google的东东在国内被墙导致下载东西超级不方便,所以就在网上下载了一个 ndk 10的,结果编译各种失败,后面换上12的就可以了,不过在新召开的2016 GDD上已经宣布了相应的资源可以在大陆可以访问了。
    • 下载第三方开源包各种失败
      tar stdin: unexpected end of file
      No targets specified and no makefile found
      后面看想到的解决办法: 去GNU官方网站下载(http://www.gnu.org/software);
      输入下面命令重现编译相应的库,这里是编译gettext-native库
     # make -j20 -C native/gettext-native distclean 
     # make -j20 -C native/gettext-native ``` 
    
    - 使用make -j12编译成功之后,会出现下面字样
        ```Kodi built successfully```
    
    -  编译出错
     Configuring incomplete, errors occurred!
    See also "/home/tovi/kodi-android/tools/depends/native/cmake-native/x86_64-linux-native/CMakeFiles/CMakeOutput.log".
    See also "/home/tovi/kodi-android/tools/depends/native/cmake-native/x86_64-linux-native/CMakeFiles/CMakeError.log".
      如果编译的时候出现这个错误,
    解决办法:sudo apt-get install lib32ncurses5
      
    
    ## 最后: 资源传送門
    [官方地址](http://kodi.tv)
    [github地址](https://github.com/xbmc/xbmc)
    [官方论坛](http://forum.kodi.tv/index.php),好多问题就可以在这里搜索的到

    相关文章

      网友评论

      • BFouAw:你好,请问按教程的方式编译出arm的apk之后,接下来怎么编译x86平台的apk呢?是需要如何clean一下么?我没有clean,只是执行./configure命令指定host为x86,但是最后为啥还是出来的arm的apk包?
        BFouAw:是需要clean一下么?
      • imyyq_star:你好,请教下,我的最终目标是:编译源代码通过后,可以在IDE中形成一个工程,然后根据需要抽取源码到我自己的项目中使用,请问按照文章的步骤,是否可以达成目的?
        寒冬_腊月:@imyyq_star 我没有试过工程导入kodi过,我平时修改是通过直接修改代码,然后命令行编译
      • feibiaotianxia:请加小弟QQ670048498,感激不尽,我都编译好几天了,实在是没招了,不知道问题出在哪一步
        feibiaotianxia: @寒冬_腊月 大神,快挺不住了,kodi编译还是不成功,请看一下QQ,急死了,跪求
        feibiaotianxia: @寒冬_腊月 哦哦,奇怪为什么下载第三方库失败,能不能加老弟QQ670048498说,快被领导逼疯了😔😔
        寒冬_腊月:@feibiaotianxia 要看错误信息才能知道是什么回事. 一直卡住的话,有可能是在下载第三方库失败
      • Moosen::+1:
        feibiaotianxia:最近也有要修改kodi源码的需求,我自己搭建装的虚拟机Ubuntu16.04麒麟中文版64位的,Android-sdk用的android-21,android-ndk-r12b编译的,make的时候总是卡住编译不过,不知道问题出在哪里,请赐教加qq670048498,十分谢谢
        寒冬_腊月:你也打赏了啊:smiley:
      • 天空中的球::+1:
        feibiaotianxia:最近也有要修改kodi源码的需求,我自己搭建装的虚拟机Ubuntu16.04麒麟中文版64位的,Android-sdk用的android-21,android-ndk-r12b编译的,make的时候总是卡住编译不过,不知道问题出在哪里,请赐教加qq670048498,谢谢
        寒冬_腊月:@天空中的球 还真给打赏了啊 :smile:

      本文标题:Kodi 播放器开源项目

      本文链接:https://www.haomeiwen.com/subject/mggomttx.html