NEON版本的xbmc-android编译方法参考官方文档:
https://github.com/xbmc/android/blob/android-rebase-11/docs/README.android
我的目标平台是hi3716c,其cpu feature是:swp half thumb fastmult vfp edsp vfpv3 vfpv3d16
可以看到,该平台的cpu不支持NEON。
1. 修改tools/android/depends/Makefile.include
将PLATFORM_FLAGS中的"-mfpu=neon"改成"-mfpu=vfpv3" (没搞明白应该改成"-mfpu=vfpv3"还是"-mfpu=vfpv3-d16",先用前者试试)
(-mfpu的解释参考:http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html)
2. 修改tools/android/depends/xbmc/Makefile
将"--enable-neon"去掉。
(查看"configure.in",可以看到neon在缺省情况下是disable的,因此直接去掉"-enable-neon"即可)
3. 按照README.android的方法编译depends.
# cd $HOME/xbmc-android/tools/android/depends
# ./bootstrap
#./configure --with-sdk=/home/zhanghui/opt/android-sdk --with-ndk=/home/zhanghui/opt/android-ndk --with-toolchain=/home/zhanghui/opt/android-toolchain/android-9 --with-tarballs=/home/zhanghui/opt/xbmc-android-tarballs
# make -j 8
depends顺利编译通过!
4. 按照README.android的方法编译xbmc
#./configure --with-sdk=/home/zhanghui/opt/android-sdk --with-ndk=/home/zhanghui/opt/android-ndk --with-toolchain=/home/zhanghui/opt/android-toolchain/android-9 --with-tarballs=/home/zhanghui/opt/xbmc-android-tarballs
# make -j 8
depends顺利编译通过!
4. 按照README.android的方法编译xbmc
# cd $HOME/xbmc-android
# make -C tools/android/depends/xbmc
出错了:
5. 确认在完整的xbmc-android目录下按上面步骤编译,成功。
出错了:
automake:no `Makefile.am' found for any configure output
经分析发现,”cp xxx/xbmc-android/* ./ -rf”命令,不会把”xxx/xbmc-android”目录下以”.”开头的文件和文件夹COPY过来;而恰恰xbmc-android/.dummy.am是有用的!5. 确认在完整的xbmc-android目录下按上面步骤编译,成功。