ビルドの高速化について

1,684 views
Skip to first unread message

Andodo

unread,
Jul 8, 2010, 11:18:08 AM7/8/10
to 日本Androidの会
こんにちは。Andodoです。

1つ質問があります。Androidのミドル層(c/c++言語で記述されている部分)の開発について
ですが、ビルド(make)の高速化は可能でしょうか?

私が開発で行っているビルド方法は単純に、Androidのトップディレクトリでmakeコマンド
を実行しているだけです。(ちなみに、Ubuntu上で開発しています。)

この方法だと、例えば下記のディレクトリのソースコードに手を入れてmakeすると、30分
近くかかります。

…/(Androidのトップディレクトリ)/frameworks/base/core/java/android/hardware

mmコマンドを実行して作成したライブラリファイル(.soファイル) をadb pushコマンドを
使って、/system/lib/ディレクトリに上書きしても、上記のディレクトリの.soファイルだと
反映されないことがあります。(短時間で終わりますが…)

あるいは、開発マシンのスペックが低いのでしょうか?(マシンのせいにするのは少し
抵抗感があるのですが…)

使用しているマシンのスペック・環境:
CPU:Intel Core2Duo 1.5GHzくらい
メモリ:2.5GB
OS:Windows XP/Ubuntu 8.04(Windows XPにVMwareをインストールし、VMware
上でUbuntu8.04を使う)

ビルドを高速に行う方法を知っている方がいれば、アドバイスしてもらえれば幸いです。

以上、宜しくお願いします。

Lewske Wada

unread,
Jul 8, 2010, 11:28:02 AM7/8/10
to android-g...@googlegroups.com
Andodo wrote :
> ディレクトリのソースコードに手を入れてmakeすると、30分近くかかります。
> …/(Androidのトップディレクトリ)/frameworks/base/core/java/android/hardware

> あるいは、開発マシンのスペックが低いのでしょうか?(マシンのせいにするのは少し
> 抵抗感があるのですが…)
>

2 回目からもその時間だと, どうしようもないんじゃない?
スペック上げるしか.
必要と判断するからコンパイルするんだろうし.

Cheers,
Lewske 'Ryu' Wada
Web: http://run.sh/
Email: r...@run.sh
ICQ: 348990359

Andodo

unread,
Jul 8, 2010, 11:31:19 AM7/8/10
to 日本Androidの会
こんにちは。Andodoです。

すいません。追記です。

マシンのメモリについてですが、メモリの割り振りはUbuntu:1.25GB Windows:1.25GBで
半分ずつ使っております。失礼しました。

l.b.

unread,
Jul 8, 2010, 11:32:40 AM7/8/10
to 日本Androidの会

 村上です。

 こちらをご参照下さい。

 コンパイル時間の短縮
 http://groups.google.co.jp/group/android-group-japan/browse_thread/thread/892347763dcd242c

 make -j での並列ビルドとccacheでのリビルド時間短縮はなかなか使えます。
 VMwareのUbuntuに割り当てるCPU数も2にあげた方がよいです。

 では。

On 7月9日, 午前12:18, Andodo <t-sasa-work...@hotmail.co.jp> wrote:

Kozo Aono

unread,
Jul 8, 2010, 8:12:21 PM7/8/10
to android-g...@googlegroups.com
Andodo様


Androidのmakeファイルでは,個別のビルドが用意されております。
使い方は,ビルドする対象のAndroid.mkが,GITで取得したフォルダの直下のsample
にあるとして,

大体こんな感じになります。
cd sample
source ../build/envsetup.sh
cd ..
mmm sample

このやり方の詳細や条件などは,以下にありますので,そちらを参照願います。
http://www.eflow.jp/common/pdf/090828/eflow-android-toku-2-3sho.pdf
「Androidネイティブコードデバッグ手段」(P.4)
ディレクトリ単位でビルドして時間の短縮(P.5)


Aono

-----Original Message-----
From: android-g...@googlegroups.com
[mailto:android-g...@googlegroups.com] On Behalf Of l.b.
Sent: Friday, July 09, 2010 12:33 AM
To: 日本Androidの会
Subject: [android-group-japan: 5317] Re: ビルドの高速化について


 村上です。

 こちらをご参照下さい。

 コンパイル時間の短縮
 
http://groups.google.co.jp/group/android-group-japan/browse_thread/thread/89
2347763dcd242c

 make -j での並列ビルドとccacheでのリビルド時間短縮はなかなか使えます。
 VMwareのUbuntuに割り当てるCPU数も2にあげた方がよいです。

 では。

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られて
います。
このグループに投稿するには、android-g...@googlegroups.com にメールを
送信してください。
このグループから退会するには、
android-group-j...@googlegroups.com にメールを送信してくださ
い。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja
らこのグループにアクセスしてください。

mizmit1222

unread,
Jul 8, 2010, 10:03:38 PM7/8/10
to 日本Androidの会
みずのです。

mmでリビルドしてできた.soを変更しても反映されないというのが
気になります。フルビルドとmmのログを見比べてみるといいかもし
れません。

VMWareに1.25G当てているのであれば、なんとか -j2 でデュアルコ
アを使えるかもしれません。メモリを多く消費するのはJDocの生成
で、1プロセス1GB程度使うようですが、JDocが走らなければ、512M
程度あれば十分と思います。

また、Virtual Boxでは設定で使用するコア数を指定しなければなり
ませんが、VMwareはデフォルトでPCのすべてのコアを使うようにな
っていると記憶しています。

参考までに、Core i7に8GBのメモリを積んで、スクラッチからのフ
ルビルドを -j8 で行うと20分程度だそうです。2GHz程度のPCで並
列化しない場合、4時間くらいかかるはずなので、やはり馬力には
かないません。

最近、Core i7のPCも安くなってきていて、ショップブランドでは10万
円程度で買えるようですので、投資としては安いのではないでしょ
うか?

ではでは。


On 7月9日, 午前9:12, Kozo Aono <kozo.a...@glb.toshiba.co.jp> wrote:
> Andodo様
>
> Androidのmakeファイルでは,個別のビルドが用意されております。
> 使い方は,ビルドする対象のAndroid.mkが,GITで取得したフォルダの直下のsample
> にあるとして,
>
> 大体こんな感じになります。
> cd sample
> source ../build/envsetup.sh
> cd ..
> mmm sample
>
> このやり方の詳細や条件などは,以下にありますので,そちらを参照願います。http://www.eflow.jp/common/pdf/090828/eflow-android-toku-2-3sho.pdf
> 「Androidネイティブコードデバッグ手段」(P.4)
> ディレクトリ単位でビルドして時間の短縮(P.5)
>
> Aono
>
>
>
> -----Original Message-----
> From: android-g...@googlegroups.com
>
> [mailto:android-g...@googlegroups.com] On Behalf Of l.b.
> Sent: Friday, July 09, 2010 12:33 AM
> To: 日本Androidの会
> Subject: [android-group-japan: 5317] Re: ビルドの高速化について
>
>  村上です。
>
>  こちらをご参照下さい。
>
>  コンパイル時間の短縮
>  http://groups.google.co.jp/group/android-group-japan/browse_thread/th...

Andodo

unread,
Jul 9, 2010, 10:31:03 PM7/9/10
to 日本Androidの会
Andodoです。

貴重なアドバイスを皆様方から教えてもらい、非常に感謝しております。

開発環境で make -j4をやってみたのですが、残念ながら処理時間は
そんなに改善されませんでした。

やはり、1、2ソースを改修してmake -j4を行ってもそんなにビルド時間が
改善されないのでしょうか。。。。

皆様がおっしゃられている通り、soファイルの見直しやハイスペックマシン
の購入を考えて見ます。

ありがとうございました。
Reply all
Reply to author
Forward
0 new messages