Nexus7 用環境構築とビルド (1)
Android 4.4.2_r2 のソースコードを取得して、
Nexus7 用にビルド出来る環境を構築します。
過去に構築してた Ubuntu 10.04 on VMWare Player を使いました。
Google 公式で Ubuntu 12.04 のビルドをサポートしたようなので、
Ubuntu 12.04 にアップデート。
ちなみに、ホスト PC は Core i7 920 でメモリ24GB。
VMWare Player はプロセッサコア2で、メモリ8GB割り当てです。
以下を参考に環境を構築
Initializing a Build Environment | Android Developers
Java のインストール
$ sudo apt-get update $ sudo apt-get install openjdk-7-jdk
java, javac を 7 に向ける。
$ sudo update-alternatives --config java $ sudo update-alternatives --config javac
必要なパッケージをインストール
$ sudo apt-get install git 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 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
USB Access を設定
ソースコードの準備
$ mkdir -p ~/local/bin $ emacs ~/.bashrc
.bashrc に以下を追加
PATH=~/local/bin:$PATH
$ mkdir -p workspace/nexus7 $ cd workspace/nexus7
repo を取得
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/local/bin/repo $ chmod a+x ~/local/bin/repo
Nexus7 用にソースコードを取得。
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.2_r2 $ repo sync -8
ビルド
device/asus 以下を見ると flo, tilapia があるのでググると、
どうやら flo が Nexus7 Wifi 版の模様。
$ . build/envsetup.sh $ lunch aosp_flo-eng $ make -j4
エラー発生。
Checking build tools versions... ************************************************************ You are attempting to build with an unsupported JDK. You use OpenJDK but only Sun/Oracle JDK is supported. Please follow the machine setup instructions at https://source.android.com/source/download.html ************************************************************ build/core/main.mk:152: *** stop. Stop.
OpenJDK だとダメらしい。
てか、よく見ると kitkat も Oracle JDK なのね。
> To develop older versions of Android, download and install the corresponding version of the Java JDK:
> Java 6: for Gingerbread through KitKat
以下のサイトを参考に Oracle JDK をインストール
Ubuntu 12.04にOracle Java 7を簡単にインストールした。 - ブログ::=(メモ|落書き)帳
$ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java7-installer
再度ビルド
$ make -j8 2>&1 | tee log_build_flo-eng.txt
またエラー。
Checking build tools versions... ************************************************************ You are attempting to build with the incorrect version of java. Your version is: java version "1.7.0_51". The correct version is: Java SE 1.6. Please follow the machine setup instructions at https://source.android.com/source/download.html ************************************************************ build/core/main.mk:168: *** stop. Stop.
というか、ふつーに Java 6 って書いてあるね。。
$ sudo apt-get install oracle-java6-installer $ sudo update-alternatives --config java $ sudo update-alternatives --config javac
再々ビルド
$ make -j8 2>&1 | tee log_build_flo-eng.txt
ここまでやって、Nexus7 向けのバイナリを入れ忘れていることに気づく。。orz
続きはまた明日。