2011年1月2日日曜日

Android ビルドの環境について(メモ)

今後のためにビルド環境のメモ


OS: ubuntu 10.10 (32bit版)

参考書籍: ANDROID HACKS プロが教えるテクニック&ツール

手順概要:
1.OSインストール( / 20GB /boot 524MB swap 2.6GB )
2.Android-SDKインストール(ビルドには直接的には不要)
http://developer.android.com/sdk/index.html
からダウンロード「 android-sdk_r08-linux_86.tgz
Linuxのホームフォルダに解凍。PATHを追加。
android-sdk-linux_86/platform-tools
android-sdk-linux_86/tools
の2箇所を追加。さらに、OSアップデート(しっかりとね)
3.Androidの各SDKのバージョンをダウンロード(ビルドには直接的には不要)
「 android 」のコマンド実効。「Available Packages」からすべて選択してダウンロード。

4.Eclipseもインストール(ビルドには直接的には不要)
「 sudo apt-get install eclipse」 (…eclipseの後になんちゃらがいると思われ)
5.ADTインストール(ビルドには直接的には不要)
EclipseのHELPから「 Install New Software 」を選択。
ADDのボタンの横の窓に「 https://dl-ssl.google.com/android/eclipse/ 」を入力
追加するツールの全てにチェックをつけて画面にしたがって導入

ーーここからは、参考本の手順P.439~にしたがってビルド環境構築へーー

 6.Ubuntsu9.04の定義をソースリストへ追加
/etc/apt/sources.list
deb http://jp.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://jp.archive.ubuntu.com/ubuntu/ jaunty-updates muitiverse

その後、 sudo apt-get update

7.もろもろのインストール
sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
※この他にも入れたかも?一般のサイトを参考に本の記述分を追加
※選択エラーがあるとインストールが出来ないので、メッセージを要チェック

8.メモリリークの検出に役立つツールも導入
sudo apt-get install valgrind

9.javaのパス設定
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=${PATH}:$JAVA_HOME/bin
※javaバージョン5を使ったらエラーになったので、バージョン6を設定

10.Repoのインストール・初期化
本を参考に実効権限をつけて実行(P.443)
名前やe-mailを入力する

11.ソースコードの取得
repo sync
※結構時間がかかります

12.32bit環境でビルド出きるように編集
ー1 bulid/core/main.mk を編集


 ifeq ($(BUILD_OS),linux)
 build_arch := $(shell uname -m)
-ifneq (64,$(findstring 64,$(build_arch)))   ← コメントにする
+ifneq (i686,$(findstring i686,$(build_arch)))   ← 追加する
 $(warning ************************************************************)
 $(warning You are attempting to build on a 32-bit system.)
 $(warning Only 64-bit build environments are supported beyond froyo/2.2.)

ー2 64bit指定をコメントにする

#    LOCAL_CFLAGS += -m64
#    LOCAL_LDFLAGS += -m64


対象のファイル

./external/clearsilver/cgi/Android.mk
./external/clearsilver/java-jni/Android.mk
./external/clearsilver/util/Android.mk
./external/clearsilver/cs/Android.mk


13.コンパイル
make -j2
※時間がかなりかかりました

あとは、P.446の手順でエミュレーターを起動!
今のところ、ここまでかな。

【祝】ビルドできたー!!! やってみるもんだw

Android…起動時にはboot.imgを処理して
その中にあるinit.rcが処理されて
環境の各種初期設定をしている訳で、
私のメモにも書いた「app2sd+」をするためにも
boot.imgnの編集が必要な訳で、
いつものグーグル先生に先人の知識を教えてもらって
そのページを見ると、boot.imgの解凍は意外と簡単に
できたんですが、問題は変更をしても元のように
boot.imgに戻せないんです(涙)

と言うのも「mkbootfs」「mkbootimg」が無い!!!
どこからともなく、DLできそうな所が見つからない。。。

で、考えたのが、Androidの開発系のツールなので、
Androidをビルドしたときに作成されるものらしい…
そこで!ビルドしてみよう!!!

ビルド環境を作るのに四苦八苦。

で、一応ビルドが出来たのでご報告!

望みのツールが使えるかは未確認ですが正月早々、乾杯っす!!!