LoginSignup
3
3

More than 5 years have passed since last update.

Android sourceビルドメモ

Posted at

ビルド環境OS:Ubuntu 14.04.1 LTS
課題:記載されている手順ではビルドエラーとなる(12.04 LTSでビルド確認となっているので諸々バージョンが異なる)

Ubuntuはクリーンな状態。

大元となる手順
https://source.android.com/source/building.html

sudo apt-get update
sudo apt-get install openjdk-7-jdk
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

※ openjdkをインストールする手順になっているが、後で削除することになる

The correct version is: Java SE 1.6.
上記2行目をopenjdk-6-jdkに差し替えても解消できない。

sudo apt-get purge openjdk*
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer

error: ‘indexOfKey’ was not declared in this scope
を解消するためgcc・g++のバージョンを4.4にダウンする。

downgrade your gcc version to gcc 4.4
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
sudo rm /usr/bin/gcc
sudo rm /usr/bin/g++
sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++
sudo apt-get install g++-4.4-multilib

dalvik/vm/native/dalvik_system_Zygote.cpp:222:43: error: ‘setrlimit’ was not declared in this scope
を解消するためコードを一部修正(ヘッダファイルをひとつインクルードする)
dalvik/vm/native/dalvik_system_Zygote.cpp
にsys/resource.hをインクルードする行を追加する

#include <sys/resource.h>

Can't locate Switch.pm in @INC

sudo apt-get install libswitch-perl

git設定

git config user.name "名前"
git config user.email メールアドレス

ダウンロード

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
mkdir ~/WORKING_DIRECTORY
cd ~/WORKING_DIRECTORY
repo init -u https://android.googlesource.com/platform/manifest
repo sync
repo forall -pc 'git log --no-merges --oneline android-4.4.2_r2..android-4.4.2_r1'
repo sync

ビルド

. build/envsetup.sh
lunch
※ 選択
make -j4

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3