2

ビルド サーバーで AOSP 8.1.0 ソース ツリーをコンパイルしています。Ubuntu 16.04 から必要なすべてのパッケージを含む docker イメージを作成しました。Docker イメージを起動するときに、ソース ツリー、ANDROID_OUT、および ccache dir をマウントします。これら 3 つのディレクトリの docker でのパスは同じです。

ソース: /home/builder/android_source/AOSP_8.1/

外: /home/builder/android_out/AOSP_8.1/

ccache: /home/builder/ccache/

問題は、ccache がどのように動作するかを理解していないことです。Android のコンパイル中に実行するwatch ccache -sと、次のように表示されます。

files in cache: 10365
cache size: 931.9MB

そして数秒後、これらの値は増加または減少する可能性があります。最大キャッシュ サイズを 30 GB に設定しましccache -sた。この正しい最大サイズが表示されますが、キャッシュ サイズが 1 GB を超えることはありません。5 つのビルドを連続して実行した後の最大サイズは、約 983MB です。

私が試したことは?

1)chown -R builder:builder ~/ccache/

2)ccache -M 30Gドッカーで。セットの最大サイズは 30 GB で、動作は変わりません。

3) ccache -C- キャッシュがクリアされ、何も改善されません。

ccache の何が問題になっていますか?

4

2 に答える 2

5

奇妙な理由で、この状況は、システム ccache と android ccache の間の非互換性が原因でした。した後

ccache -M 50G

Androidソースディレクトリのccacheユーティリティを使用すると、すべてが機能します。

于 2018-02-28T12:25:38.373 に答える