在64位Ubuntu下面使用Android NDK编译Tvheadend

以前转过一片老外写的文章,http://www.holik.at/index.php?m=06&y=13&d=18&entry=entry130627-175237,按照这片blog的写法,是有很多问题的。例如找不到Openssl等。我仔细认真研究之后,完成了这些功能。
在Home下面建立tvheadend目录,下载wget https://github.com/innbox/tvheadend/archive/tvheadend-android.zip,然后解压缩unzip tvheadend-android.zip.
建立build目录。
下载openssl-1.0.1f.tar.gz,tar xvf openssl-1.0.1f.tar.gz.
1, 编译openssl
cd openssl-1.0.1f
-------------------my_configure_openssl.sh start here-----------------------
#!/bin/sh
./config no-asm shared \
--prefix=/home/zangcf/tvheadend/build
-------------------my_configure_openssl.sh end here------------------------
执行chmod u+xmy_configure_openssl.sh
执行./my_configure_openssl.sh
gedit Makefile
做如下修改,1)查找m64,都删除了。2)找CC= gcc,修改为/opt/android-toolchain/android-14/bin/arm-linux-androideabi-gcc 3)找到AR= ar $(ARFLAGS) r,修改为AR= /opt/android-toolchain/android-14/bin/arm-linux-androideabi-ar $(ARFLAGS) r,3)找到MAKEDEPPROG= gcc,修改为MAKEDEPPROG= /opt/android-toolchain/android-14/bin/arm-linux-androideabi-gcc 4)找到RANLIB= /usr/bin/ranlib,修改RANLIB= /opt/android-toolchain/android-14/bin/arm-linux-androideabi-ranlib
make && make install

2,编译tvheadend-android
进入tvheadend-android,建立my_configure_tvheadend.sh
------------------------------------------my_configure_tvheadend.sh start here-------------------------------------------------------------------
#!/bin/sh
BUILD_PATH=/home/zangcf/tvheadend/build
CC_PATH=/opt/android-toolchain/android-14/bin/arm-linux-androideabi-gcc

./configure \
  --prefix=$BUILD_PATH \
  --cc=$CC_PATH  \
  --disable-avahi \
              --disable-libav \
              --enable-bundle \
              --enable-android \
              --arch=arm \
              --march=armv5 \
              --android_toolchain=/opt/android-toolchain \
              --cflags="-I/home/zangcf/tvheadend/build/include -I/home/zangcf/tvheadend/tvheadend-tvheadend-android/vendor/dvb-api/5.10"
--------------------------------------------my_configure_tvheadend.sh end here-----------------------------------------------------------------
执行chmod u+x my_configure_tvheadend.sh
执行./my_configure_tvheadend.sh
执行make && make install
adb push build.linux/tvheadend /data/dvb
adb push ../android-toolchain-14/lib/libssl.so /data/dvb
adb push ../android-toolchain-14/lib/libcrypto.so /data/dvb
adb shell
root@android:/data/dvb # ./tvheadend -C
执行发现出错
---------------------------------------Error information start here--------------------------------------------------------------------------
shell@android:/data/tvheadend # ./tvheadend -C
./tvheadend -C
A newer kernel is required to run this binary. (__kernel_cmpxchg64 helper)
---------------------------------------Error information end here--------------------------------------------------------------------------
这是由于NDK版本太新导致的,我们必须退回使用老的版本编译
3,安装android-ndk-r5b工具链
下载android-ndk-r5b-linux-x86.tar.bz2
把android-ndk-r5b-linux-x86.tar.bz2 copy 到/opt下面
解压缩tar xvf android-ndk-r5b-linux-x86.tar.bz2
cd android-ndk-r5b/
./build/tools/make-standalone-toolchain.sh --ndk-dir=/opt/android-ndk-r5b --install-dir=/opt/android-toolchain-r5b/android-8 --platform=android-8 --toolchain=arm-linux-androideabi-4.4.3

4,重新编译
修改
#!/bin/sh
------------------------------------------my_configure_tvheadend.sh start here-------------------------------------------------------------------
BUILD_PATH=/home/zangcf/tvheadend/build
CC_PATH=/opt/android-toolchain-r5b/android-8/bin/arm-linux-androideabi-gcc

./configure \
  --prefix=$BUILD_PATH \
  --cc=$CC_PATH  \
  --disable-avahi \
              --disable-libav \
              --enable-bundle \
              --enable-android \
              --arch=arm \
              --march=armv5 \
              --android_toolchain=/opt/android-toolchain \
              --cflags="-I/home/zangcf/tvheadend/build/include -I/home/zangcf/tvheadend/tvheadend-tvheadend-android/vendor/dvb-api/5.10"
------------------------------------------my_configure_tvheadend.sh end here-------------------------------------------------------------------
执行make && make install
然后重复前面同样的方法push到机器里面。

5,运行
在android的本地浏览器,打开地址http://localhost:9981,可以看到配置界面的正常运行。


















  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值