build ubuntu touch

refs:

https://wiki.ubuntu.com/Touch/Install#Step_1_-_Desktop_Setup

https://wiki.ubuntu.com/Touch/Building


1)似乎要求ubuntu 12.04以上的版本,因为在10.04上添加源没有成功(也有可能是公司网络限制问题)

For development you can run any 64-bit Desktop version of Ubuntu between 12.04 LTS and 13.04.

2)基本的android编译环境,这个可以参考google的网站

3)ubuntu 开发环境

sudo add-apt-repository ppa:phablet-team/tools


deb http://ppa.launchpad.net/phablet-team/tools/ubuntu [dist-codename] main
deb-src http://ppa.launchpad.net/phablet-team/tools/ubuntu [dist-codename] main

*Note: replace [dist-codename] with precise, quantal, raring or saucy.

第一种方式没有添加成功,第二种worked。

sudo apt-get update
sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot

4)安装一堆东西
sudo apt-get install git gnupg flex bison gperf build-essential \
  zip bzr curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386 schedtool

5)这个是需要的编译时会提示你安装

sudo apt-get install ubuntu-dev-tools


6)下载源码

repo  init  -u   git://phablet.ubuntu.com/CyanogenMod/android  -b  phablet-10.1

repo  sync

该步骤如果执行了5)也可以使用

phablet-dev-bootstrap 
工具完成


7)编译

 .   build/envsetup.sh 

enventup.sh中get_hybris 似乎不需要每次都执行
耗时较长,因为会使用pull-lp-source 去下载 package为libhybirs的saucy

 HYBRIS_SRC=ubuntu/hybris
 HYBRIS_SRC_PACKAGE=libhybris
 HYBRIS_SRC_SERIES=saucy

----------------------------------------------------------------

pull-lp-source: Downloading libhybris version 0.1.0+git20130606+c5d897a-0ubuntu16
pull-lp-source: Downloading libhybris_0.1.0+git20130606+c5d897a.orig.tar.gz from archive.ubuntu.com (0.483 MiB)
pull-lp-source: Downloading libhybris_0.1.0+git20130606+c5d897a-0ubuntu16.debian.tar.gz from archive.ubuntu.com (0.082 MiB)
gpgv: Signature made Fri 09 Aug 2013 10:56:57 PM CST using RSA key ID B16223A3
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./libhybris_0.1.0+git20130606+c5d897a-0ubuntu16.dsc
dpkg-source: info: extracting libhybris in libhybris-0.1.0+git20130606+c5d897a
dpkg-source: info: unpacking libhybris_0.1.0+git20130606+c5d897a.orig.tar.gz
dpkg-source: info: unpacking libhybris_0.1.0+git20130606+c5d897a-0ubuntu16.debian.tar.gz
dpkg-source: info: applying 0001-Media-adding-initial-compat-files-for-media.patch
dpkg-source: info: applying 0002-Media-Recorder-adding-initial-support-for-media-reco.patch
dpkg-source: info: applying 0003-hybris-common-jb-Making-libhybris-buildable-x86-64.patch
dpkg-source: info: applying 0004-platforms-Makefile.am-temporarily-disabling-fbdev-to.patch
dpkg-source: info: applying 0005-common-hooks.c-adding-NVIDIA-HACK-needed-by-Nexus-7.patch
dpkg-source: info: applying 0006-jb-linker.c-allow-debug-of-the-linker-and-hooked-sym.patch
dpkg-source: info: applying 0007-jb-linker.c-ubuntu-touch-uses-dev-alog-instead-of-de.patch
dpkg-source: info: applying 0008-hooks-shm-fixing-logic-with-cond-is-negative-error.patch

dpkg-source: info: applying 0009-jb-linker.c-reduce-debugging-output-for-prelinked-li.patch
dpkg-source: info: applying 0010-hardware-include-adding-audio-hal-related-headers-fr.patch
dpkg-source: info: applying 0011-hooks.c-no-need-to-map-strcasestr.patch
dpkg-source: info: applying 0012-hooks.c-handle-invalid-mutex-in-pthread_mutex_destro.patch
dpkg-source: info: applying 0013-implement-getset-property-via-property-service.patch
dpkg-source: info: applying 0014-input_compatibility_layer.cpp-avoid-blocking-on-exit.patch
dpkg-source: info: applying 0015-camera_compatibility_layer.cpp-don-t-explicitly-rele.patch
dpkg-source: info: applying 0016-media-adding-files-for-media-codec-support-with-stag.patch
dpkg-source: info: applying 0017-common-hooks.c-handle-null-attr-in-pthread_rwlock_in.patch
dpkg-source: info: applying 0018-properties.c-better-handling-for-name-and-value-size.patch
dpkg-source: info: applying 0019-Fix-last-argument-to-pthread_cond_timedwait.patch



8)以下和android 同。


你可能感兴趣的:(linux,ubuntu,android)