1. 编译主机系统 Ubuntu (12.04) 64Bit
2. 在Ubuntu上安装必要的工具
2.1. 基础工具包
sudo apt-get install build-essential default-jdk git curl autoconf unzip zip zlib1g-dev gawk gperf cmake ia32-libs
 
后面编译时报找不到CURL,原因是没有安装libcurl-dev

Could NOT find CURL but curl is already installed #170

所以最好先安装一下libcurl-dev

sudo apt-get install libcurl-dev

2.2 安装jdk和jre
openjdk-6-jdk (java version "1.6.0_27")
openjre-6-jre (java version "1.6.0_27")
更新gcc到4.8
默认Ubuntu自带的gcc版本是4.4, 我们需要同步更新到官方指定的版本, 简便的方法可以通过PPA更新, 方法如下:
 
3. 建立Android开发环境
 
3.1 下载最新的SDK和NDK,解压或者按照到如下目录
/opt/android-ndk-r10d
/opt/android-sdk-linux
 
3.2 安装platform, platform-tool和build-tools
./android update sdk -u -t platform,platform-tool
./android update sdk -u -t build-tools-20.0.0
 
上一步,也可以通过到/opt/android-sdk-linux/tools目录下运行sudo ./android sdk命令,打开DDMS工具,有选择的更新对应的工具,不需要更新所有的版本
注:由于android官网被国内墙了,所以上面的下载sdk和安装会有点麻烦,可以去第三方网站下载和更新(可能不是最新的)
 
3.3 安装Android工具链
 
# cd /opt/android-ndk-r10d
# ls platforms
# cd build/tools
# ./make-standalone-toolchain.sh --ndk-dir=../../ --install-dir=/opt/arm-linux-androideabi-4.8-vanilla
/android-17 --platform=android-17 --toolchain=arm-linux-androideabi-4.8 --system=linux-x86_64
 
3.4 新建立一个debug key用于给apk签名
 # keytool -genkey -keystore ~/.android/debug.keystore -v -alias \
       androiddebugkey -dname "CN=Android Debug,O=Android,C=US" -keypass \
       android -storepass android -keyalg RSA -keysize 2048 -validity 10000
 
4. 获取XBMC源码
   # cd $HOME
   # git clone git://github.com/xbmc/xbmc.git kodi-android
   # cd kodi-android
   # git submodule update --init addons/skin.re-touched 
 
5. 编译步骤
5.1  Building dependencies
 
# cd $HOME/kodi-android/tools/depends
# ./bootstrap 
# ./configure --with-tarballs=/home/skyworth/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=/opt/android-sdk-linux --with-ndk=/opt/android-ndk-r10d --with-toolchain=/opt/arm-linux-androideabi-4.8-vanilla/android-17 --prefix=/home/skyworth/xbmc-depends --with-sdk=android-17
# make -j 10
 
5.2. Building Kodi
# cd $HOME/kodi-android
# make -C tools/depends/target/xbmc
# make
# make apk 

源码编译基于Android平台的XBMC笔记的更多相关文章

  1. 源码编译运行android emulator

    source buile/envsetup.sh lunch sdk-eng make sdk -j2 编译完之后,sdk安装在了下面的目录里 ANDROIID_DIR/out/host/linux- ...

  2. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  3. Android源码编译make的错误处理

    android源码下载:官方下载 或参考android源码下载方式 Android编译版本: PLATFORM_VERSION=4.0.1(最新Android 4.0.1) OS 操作系统平台: Li ...

  4. Android源码编译的全过程记录

    写本篇文章主要参考了官方文档和网上的一些资料,但是对于Android最新的代码来说,网上资料有些已经过时.本文中步骤已经作者实验,大家可以亲自执行试试.由于没有使用Eclipse的习惯,所以没有做Ec ...

  5. 【转】Android 源码编译make的错误处理--不错

    原文网址:http://blog.csdn.net/ithomer/article/details/6977386 Android源码下载:官方下载 或参考android源码下载方式 Android编 ...

  6. Android源码浅析(四)——我在Android开发中常用到的adb命令,Linux命令,源码编译命令

    Android源码浅析(四)--我在Android开发中常用到的adb命令,Linux命令,源码编译命令 我自己平时开发的时候积累的一些命令,希望对你有所帮助 adb是什么?: adb的全称为Andr ...

  7. Android 5.0源码编译问题

    如果是自己通过repo和git直接从google官网上download的源码,请忽略这个问题,但是由于google在国内被限制登录,通过这一种方法不是每个人都能download下来源码,通常的做法就是 ...

  8. Android stdio Apktool源码编译

    Android Apktool源码编译 标签(空格分隔): Android Apktool 源码编译 需求 习惯NetBeans调试smali需要用Apktool反编译apk,需要用-d的参数才能生成 ...

  9. Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程

    Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程   在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...

随机推荐

  1. Hibernate的集合映射(Set、List、Array、Map、Bag)

    POJOs如下: Customer类------>customer表   Order类对应---------->orders表  customer(1)<-------------- ...

  2. c# 扩展方法奇思妙用集锦

    本文转载:http://www.cnblogs.com/ldp615/archive/2009/08/07/1541404.html 其中本人觉得很经典的:c# 扩展方法奇思妙用基础篇五:Dictio ...

  3. BA的广度和深度

    http://insights.thoughtworkers.org/ba-capability-and-development-path-in-thoughtworks/ 作者:ThoughtWor ...

  4. 使用Inputstream读取文件

    在java中,能够使用InputStream对文件进行读取,就是字节流的输入.当读取文件内容进程序时,须要使用一个byte数组来进行存储,如此会有例如以下两个问题: 1.怎样建立合适大小的byte数组 ...

  5. ViewPager的用法和实现过程

    看图先:          页面中填充内容是随机关键词飞入和飞出动画效果,随后会更新,如今请先无视吧 首先是 导入jar包   下载地址:android-support-v4.jar 布局文件中加入v ...

  6. vim阅读c++代码的快捷键

    未完,待总结 1. 首先适用ctags建立当前工作目录的标签: cd /home/wanglc/WorkDirectory ctags -R or ctags -R * 命令结束以后,会生成一个tag ...

  7. thinkphp中session跨域问题

    问题描述 <thinkphp实现短信验证注册>中,小编不止记录了短信验证码的实现方法,同时还记录了图片验证码的实现方法. 本地使用,一切正常:后端项目和前端项目都部署到服务器,一切正常:后 ...

  8. 【Debian百科】巨页

    巨页 为什么使用巨页? 当一个进程使用一些内存的时候,CPU就把那部分内存标记成已被该进程使用的.为了提高效率,CPU会按4K字节块(它在很多平台上是默认值)分配内存.这些块被称作页.这些页可以被交换 ...

  9. CentOS 6.7 配置nginx支持SSL/https访问

    一.安装必要的包 yum install openssl openssl-devel 二.配置编译参数,增加对SSL的支持 ./configure –with-http_ssl_module 三.修改 ...

  10. user.table.column, table.column 或列说明无效

    Oracle统计采用别名出错(user.table.column, table.column 或列说明无效) >>>>>>>>>>>& ...