1. TNaruto

    No comment

    TNaruto
Changes in body
Source | HTML | Preview

はじめに

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

設定

ccache のインストール

Ubuntu

% sudo apt-get install ccache

MacOS(homebrew)

% brew install ccache

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

% ccache -M 1G
% 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)

手順

環境変数サイズは大きいほうが良いのでキャッシュ総容量を NDK_CCACHE10GB に指定します。 ccache コマンド path を指定すると、ndk-build ccache を利用するようになります。

環境変数 USE_CCACHE と NDK_CCACHE が設定されていると、ndk-build が ccache を利用するようになります。
いつも通り ndk-build コマンドを実行するとキャッシュされます。

% export NDK_CCACHE=`which ccache`
% cd /path/to/android_project/jni
% 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