XBMC是一個優(yōu)秀的自由和開源的(GPL)媒體中心軟件忘伞。XBMC最初為Xbox而開發(fā)奶段,可以運行在Linux库糠、OSX伙狐、Windows涮毫、Android系統(tǒng),用Assembly, C, C++, Python來開發(fā)贷屎,現(xiàn)在最新的版本是17.0罢防,今天就來記錄一下在Android系統(tǒng)上的編譯和自己遇到一個小坑, 希望可以幫助到大家。
一唉侄、環(huán)境搭建
系統(tǒng): 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
三同眯、開始重要的一步-編譯(這里費了不少腦細胞)
首先根據(jù)具體的選擇相應的平臺: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 //這里參數(shù)是指定job個數(shù)嗽测,官方給的建議是-j20
#make apk //在kodi的根目錄下生成apk
注:詳細的可以參考源代碼中的
readme(kodi_code/docs/README.android)
readme(kodi_code/tools/depends/README)
記錄一下自己編譯的時候遇到的坑
- 安裝的ndk版本不對. 由于Google的東東在國內(nèi)被墻導致下載東西超級不方便绪励,所以就在網(wǎng)上下載了一個 ndk 10的,結(jié)果編譯各種失敗唠粥,后面換上12的就可以了疏魏,不過在新召開的2016 GDD上已經(jīng)宣布了相應的資源可以在大陸可以訪問了。
- 下載第三方開源包各種失敗
tar stdin: unexpected end of file
No targets specified and no makefile found
后面看想到的解決辦法: 去GNU官方網(wǎng)站下載(http://www.gnu.org/software);
輸入下面命令重現(xiàn)編譯相應的庫晤愧,這里是編譯gettext-native庫
# make -j20 -C native/gettext-native distclean
# make -j20 -C native/gettext-native
使用make -j12編譯成功之后大莫,會出現(xiàn)下面字樣
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".
如果編譯的時候出現(xiàn)這個錯誤,
解決辦法:sudo apt-get install lib32ncurses5