Edited at

Android NDK で ccache を有効にする。

More than 3 years have passed since last update.


はじめに

NDK のビルド時 ccache を導入してビルド時間を短縮しましょう。

ccache は簡単に説明すると、コンパイル時に生成されるオブジェクトをキャッシュ化するソフトウェアです。詳しい説明は本家と wikipedia を参照してください。


設定


ccache のインストール


Ubuntu

% sudo apt-get install ccache


MacOS(homebrew)

% brew install ccache


ccache のキャッシサイズの最大値の指定

サイズは大きいほうが良いのでキャッシュ総容量を 10GB に指定します。

% ccache -M 10G


環境変数設定

お使いのシェルのドットファイル(~/.bashrc or ~/.zshrc)に環境変数を設定してください。

# ccache

export USE_CCACHE=1
export NDK_CCACHE=ccache
export CCACHE_CPP2=yes
export CCACHE_COMPILERCHECK=content

設定を反映します。



% source ~/.bashrc (or ~/.zshrc)


手順

環境変数 USE_CCACHE と NDK_CCACHE が設定されていると、ndk-build が ccache を利用するようになります。

いつも通り ndk-build コマンドを実行するとキャッシュされます。

% cd /path/to/android_project/jni

% ndk-build


無効化

USE_CCACHE と NDK_CCACHE を unset すると ccache を無効化出来ます。

% unset USE_CCACHE

% unset NDK_CCACHE
% ndk-build

再度有効化するには source コマンドでドットファイルを再読込するか、USE_CCACHE, NDK_CCACHE 環境変数を再設定してください。


キャッシュのクリア

ビルドが失敗するようになったり、キャッシュのヒット率がわるくなったら ccache のキャッシュをクリアしてください。

ccache -cC