2012/10/22

Nexus7 用に Android をビルドしてみた (1)

@ Ubuntu 12.04 LTS

Nexus7 を手に入れたので、自分でビルドしていろいろいじってみようかと思います。
とりあえずは、AOSPから取ってきたソースコードをビルドして焼いてみるところまで。

以下を参考に環境を構築します。
Initializing a Build Environment | Android Open Source

基本的には書いてある通りなのですが、現在は sun JDK 6 の入手先が変わっているので要注意。
以下のサイトを参考にさせていただきました。
Installing Java6 JDK on Ubuntu 12.04 | digital nomad
$ mkdir ~/src
$ cd ~/src
$ git clone https://github.com/flexiondotorg/oab-java6.git
$ cd ~/src/oab-java6
$ sudo ./oab-java.sh
$ sudo apt-get install sun-java6-plugin sun-java6-jre sun-java6-bin sun-java6-jdk

update-java-alternatives を使用して実行環境を java-6-sun にしておきます。
参考: まさおのブログ (表): Ubuntu 複数インストールされている java を切り替え
$ update-java-alternatives -l
java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64
java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-6-sun 63 /usr/lib/jvm/java-6-sun
$ sudo update-java-alternatives -s java-6-sun

必要なパッケージインストール
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip 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 openjdk-6-jdk tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

/etc/udev/rules.d/51-android.rules に以下の行を加える(ファイルがない場合は作成する)
# adb protocol on grouper (Nexus 7)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666"
# fastboot protocol on grouper (Nexus 7)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666"

CCACHE と repo もインストールしておく
$ sudo apt-get install ccache
$ mkdir ~/bin
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

~/.bashrc に以下を加える
export USE_CCACHE=1
PATH=~/bin:$PATH

変更を反映させて環境構築完了。
$ source ~/.bashrc

穀風: Nexus7 用に Android をビルドしてみた (2)

0 件のコメント: