准备工作:
1. 安装必备程序:
$ sudo apt-get install openjdk7 build-essential git curl autoconf unzip zip zlib1g-dev gawk gperf cmake lib32stdc++6 lib32z1 lib32z1-dev
1. 下载 android ndk 并解压;
2. 下载 andrid sdk 并解压;
3. 复制sdk,ndk目录到 /opt 目录,设置 opt 目录当前可写;
4. 命令行更新sdk内容:
查看可用更新:
/opt/android-sdk-linux/tools$ ./android list sdk --proxy-host sdk.gdgshanghai.com --proxy-port 8000 -s -u
然后更新
/opt/android-sdk-linux/tools$ ./android update sdk --proxy-host sdk.gdgshanghai.com --proxy-port 8000 -s -u -t <x>,<y>,<z>
x,y,z分别是list sdk显示的id数字。
需要下载 android-17的内容:
/opt/android-sdk-linux/tools$ ./android update sdk --proxy-host sdk.gdgshanghai.com --proxy-port 8000 -s -u -t 4,26
5. 创建kodi专用ndk toolchain:
$ cd <android-ndk>/build/tools
$ ./make-standalone-toolchain.sh --ndk-dir=../../ \
--install-dir=/opt/kodi-toolchain-arm/android-17 --platform=android-17 \
--toolchain=arm-linux-androideabi-4.8 --system=linux-x86_64
$ ./make-standalone-toolchain.sh --ndk-dir=../../ \
--install-dir=/opt/kodi-toolchain-arm/android-17 --platform=android-17 \
--toolchain=arm-linux-androideabi-4.8 --system=linux-x86_64
6. 创建debug 签名:
$ cd <android-ndk>/build/tools
$ 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
$ 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
7.取 kodi 源码:
$ cd $HOME
$ git clone git://github.com/xbmc/xbmc.git kodi-android
$ cd kodi-android
$ git submodule update --init addons/skin.re-touched
$ git clone git://github.com/xbmc/xbmc.git kodi-android
$ cd kodi-android
$ git submodule update --init addons/skin.re-touched
8. 配置源码:
$ cd $HOME/kodi-android/tools/depends
$ ./bootstrap
$ ./configure --with-tarballs=/opt/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=/opt/android-sdk-linux --with-sdk=android-17 --with-ndk=/opt/android-ndk-r10e --with-toolchain=/opt/kodi-toolchain-arm/android-17 --prefix=/opt/xbmc-depends --enable-neon
此处如果 --with-toolchain 的路径和第5步--install-dir的路径不同,后面编译 pcre 时会出错,总是过不去。
$ ./bootstrap
$ ./configure --with-tarballs=/opt/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=/opt/android-sdk-linux --with-sdk=android-17 --with-ndk=/opt/android-ndk-r10e --with-toolchain=/opt/kodi-toolchain-arm/android-17 --prefix=/opt/xbmc-depends --enable-neon
此处如果 --with-toolchain 的路径和第5步--install-dir的路径不同,后面编译 pcre 时会出错,总是过不去。
9.编译addon
$ cd $HOME/kodi-android/tools/depends
$ make -j 2
$ make -j 2
这一步可能出现错误: native/cmake-native/x86_64-linux-native 目录编译不成功, 然后cd这个目录执行 bootstrap, 检查发现是缺少 curl 库,安装
sudo apt-get install libcurl4