プログラミングノート

一からものを作ることが好きなエンジニアの開発ブログです。

ccacheでAndroid NDKビルドの高速化

Androidのビルド遅いなーと思っていたらこんな記事を見つけたので早速導入。

matsukaz.hatenablog.com

インストール

$ brew install --HEAD ccache

.bash_profileに環境変数追加
(Eclipseを利用する場合は別途C/C++ > Build > Environmentの追加設定が必要とのこと)

export NDK_CCACHE=/usr/local/bin/ccache
export CCACHE_COMPILERCHECK=content
export CCACHE_MAXSIZE=3G

動作確認

$ ccache -s
cache directory                     /Users/ntaku/.ccache
primary config                      /Users/ntaku/.ccache/ccache.conf
secondary config      (readonly)    /usr/local/Cellar/ccache/HEAD/etc/ccache.conf
cache hit (direct)                     0
cache hit (preprocessed)               0
cache miss                             0
files in cache                         0
cache size                           0.0 kB
max cache size                       5.0 GB

Androidプロジェクトをビルド後

$ ccache -s
cache directory                     /Users/ntaku/.ccache
primary config                      /Users/ntaku/.ccache/ccache.conf
secondary config      (readonly)    /usr/local/Cellar/ccache/HEAD/etc/ccache.conf
cache hit (direct)                     0
cache hit (preprocessed)               0
cache miss                          1226
files in cache                      3692
cache size                         419.8 MB
max cache size                       5.0 GB

条件を同じにして再度Androidプロジェクトをビルドしてみると

$ ccache -s
cache directory                     /Users/ntaku/.ccache
primary config                      /Users/ntaku/.ccache/ccache.conf
secondary config      (readonly)    /usr/local/Cellar/ccache/HEAD/etc/ccache.conf
cache hit (direct)                  1226
cache hit (preprocessed)               0
cache miss                          1226
files in cache                      3692
cache size                         419.8 MB
max cache size                       5.0 GB

初回は20分くらいかかったのが今度は20秒くらいで完了、確かに速い!これは嬉しい。