kodi/XBMC 编译成APK

近日朋友相邀,重新转战过去的老行当IPTV。获知他们其实所做的的是android应用,流媒体网络协议仍是基于TS over TCP/HTTP这套。基于安卓的应用,是自己写的原生的apk。此时不禁想起了几年前搞过的XBMC,又重翻了一下,发现原生的支持android的。于是按照官方文档,费了一天多的功夫,顺利编译通过了。在查看代码和文档的过程中,也了解到了jenkins这个自动化构建工具,不由感慨IT技术发展之迅速啊,绝对是鸟枪换炮的速度啊。我们在开发产品的过程中,切忌使用鸟枪,虽然可快一时,也方便自由,随意更改定制,但对于小公司来说,两三人出的东西,如何能搞得过动辄百计的开源团队,我在软件开发过程中,一惯的作风是拿来主义,绝不重做车轮。可能刚开始的门槛高了些,但立足点高,后劲足,这是站在巨人的肩膀上,对于刚开始创业的公司来说,生存尚且不易,何妨暂且Hack GPL……

参照docs\README.android和tools/depends/README,在ubuntu16.04环境中成功完成编译。在编译APK的过程中,会不时发生些错误,但大多数是编译过程中下载的tar.gz包不完整,导致的。重新执行make即可。有一个samba的编译错误,不太好解决,不过最终通过修改*.cmake文件中对Hash的检验(手工下载,然后注释掉校验部分)解决了。最后成功的生成了APK,并在手机上安装成功(因为和原装的kodi签名不同,所以需要卸载掉原来的kodi再安装这个)。

cd /home/justfly/kodi-android/tools/depends

./configure --with-tarballs=/opt/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=/opt/android-sdk-linux --with-ndk=/opt/android-ndk-r12b --with-toolchain=/opt/arm-linux-androideabi-4.9-vanilla/android-21 --prefix=/opt/xbmc-depends --enable-neon

在Windows上安装时,出现KB2670838的错误,”Platform Update fro Windows(KB2670838) is required.……”而这个补丁肯定是打过了的。通过参考下面的网址上的123后解决! https://www.raymond.cc/blog/fix-blank-or-empty-list-in-vista-turn-windows-features-on-or-off-optionalfeaturesexe/

1.在cmd窗口输入optionalfeatures命令,出现空白,说明你系统的确是这个问题,并需要按照以下方式修复。 2.下载安装:System Update Readiness Tool for Windows 7 for x64-based Systems (KB947821) 网址:https://www.microsoft.com/en-us/download/confirmation.aspx?id=20858 3.Go to C:\Windows\Logs\CBS\ and open the CheckSUR.log file with notepad. The following steps are possibly going to be a little tricky because everyone gets different results in the log file.

在我的电脑上是: Checking Package Manifests and Catalogs (f) CBS MUM Corrupt 0x800F0900 servicing\Packages\Package_25_for_KB3142024~31bf3856ad364e35~amd646.1.1.1.mum Line 1: d (f) CBS MUM Corrupt 0x800F0900 servicing\Packages\Package_3_for_KB3153199~31bf3856ad364e35~amd646.1.1.0.mum Line 1: ŽAÅãÍ×d&·›Ôß5R*äÝϏ˜ï(œ³G<c„,H›÷óÉíV Ú#Q‹

在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\中删除掉上面Package_25_for_KB3142024~31bf3856ad364e35~amd646.1.1.1和Package_3_for_KB3153199~31bf3856ad364e35~amd646.1.1.0.mum 下载Registrar Registry Manager才能删除掉注册表中的项目,删除掉相应的注册表项后,问题解决!

如果发现HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\是空的: 进服务吧Windows update服务停了,把C:\Windows\SoftwareDistribution\Download和C:\Windows\SoftwareDistribution\DataStore下的东西全给删了,在启动Windows update服务,然后再更新试试