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. ByteBuffer使用之道

    缓冲区分配和包装  在能够读和写之前,必须有一个缓冲区,用静态方法 allocate() 来分配缓冲区:  ByteBuffer buffer = ByteBuffer.allocate(1024); ...

  2. linux使用FIO测试磁盘的iops 【转载】

     linux使用FIO测试磁盘的iops 2013-09-23 10:59:21 分类: LINUX FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括 ...

  3. 笔记本PS/2键盘无法使用,试下这个方法

    用360清理了一下系统,再开机键盘就不灵了,鼠标却可以用. 打开设备管理器,看到PS/2标准键盘有个黄色的感叹号. 属性显示PS/2 标准键盘 Windows 无法加载这个硬件的设备驱动程序.驱动程序 ...

  4. eclipse package,source folder,folder区别及相互转换

    今天遇到一个问题:在com.a.b.c这个包路径下建一个package,但是不知为什么就会自动编程folder,而且在这个“package”下的所有property文件读不到.所以看了一下文章:在ec ...

  5. Android中应用程序如何获得系统签名权限

    有些库的使用条件比较苛刻,要求同一签名的程序才可以获得访问权.此时即便是在AndroidManifest.xml中添加了相应的permission,依旧会得到没有xx访问权限的问题.比如android ...

  6. careercup-链表 2.3

    2.3 实现一个算法,删除单向链表中间的某个结点,假设你只能访问该结点.(即你不知道头结点) 这个问题的关键是你只有一个指向要删除结点的指针,如果直接删除它,这条链表就断了. 但你又没办法得到该结点之 ...

  7. java Thread.join()

    thread1.join()方法阻塞调用此方法的线程,直到线程thread1完成,此线程再继续. 通常用于在main()主线程内,等待其它线程完成再结束main()主线程 @Test /** * ou ...

  8. XC图片浏览器

    XC图片浏览器,这是基于Android4.4开发的一款浏览手机里的图片的浏览器.简单美观实用.欢迎下载. 下载地址:http://download.csdn.net/detail/jczmdevelo ...

  9. Mysql Join语法解析与性能分析详解

    一.Join语法概述 join 用于多表中字段之间的联系,语法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona table1 ...

  10. Codeforces Round #310 (Div. 2)--B

    http://codeforces.com/problemset/problem/556/B 题意:给定n个数字且都小于n,然后每次循环第2k+1个数字+1,第2k个数字减一,k=0,1,2...n/ ...