Совместное использование кэша Android между рабочими областями

Я хочу поделиться ccache, созданным с использованием одного рабочего пространства, для использования другим рабочим пространством, чтобы одна копия данных ccache использовалась для компиляции идентичного исходного кода.

E.x: 1) Создал рабочее пространство (home / user / source_code1). 2) синхронизировал код здесь с сервера. 3) Скомпилировал код с USE_CCACHE = 1

Вышеупомянутое построит мой ccache. Теперь я делаю следующее

Случай 1: 1) Создано рабочее пространство (home / user / source_code2). 2) синхронизировал здесь идентичный исходный код с сервера. 3) Сделал ту же компиляцию, что и в предыдущей рабочей области.

Случай 2: 1) Удалить рабочее пространство home / user / source_code1 2) Восстановить предыдущее рабочее пространство (home / user / source_code1). 2) Повторно синхронизировал код с сервера. 3) Скомпилировал код с USE_CCACHE = 1

Я хочу, чтобы компиляция source_code2 использовала ccache, созданный из source_code1, и когда я удаляю и повторно создаю ту же рабочую область, мне нужно, чтобы компиляция происходила с уже созданной ccache. Приветствуются любые указатели на то же самое!

Результат, который я вижу сейчас в обоих вышеупомянутых случаях, заключается в том, что хотя ccache построен, он никогда не используется или в ccache нет попаданий, он продолжает накапливаться всякий раз, когда используется новое рабочее пространство, если я просто очищаю сборку и повторно -компилировать в той же рабочей области без удаления какого-либо более раннего исходного кода (home / user / source_code1), затем включается компиляция ccache и есть совпадения, которые помогают сократить время сборки.

Есть идеи, почему я не вижу попаданий в ccache всякий раз, когда используется новая рабочая область?

У меня всегда увеличивается «промах ccache», а не «попадание в кеш (прямое) или попадание в кеш (предварительно обработанное)». Также «попадание в кэш (прямое)» всегда равно 0.

Я установил следующие переменные.

CCACHE_BASEDIR=/home/user
USE_CCACHE=1
CCACHE_DIR=/home/user/ccache
CCACHE_SLOPPINESS=time_macros,file_macro

Пожалуйста, дайте мне знать, если мне что-то здесь не хватает.


person Jose    schedule 25.04.2014    source источник


Ответы (1)


Возможно, вам нужно заменить ccache на ver. 3.x или выше.
Насколько мне известно, ccache, включенный в дерево исходных кодов Android, имеет версию ver. 2.4.
И CCACHE_BASEDIR работал в ccache 3.x, вы можете обратиться к ссылке ниже.

Настройте CCACHE_BASEDIR для обмена объектными файлами между деревьями

Сценарий сборки Andorid будет использовать их предварительно созданные инструменты, а не тот, который был установлен в вашей системе.

person Stanley Huang    schedule 23.12.2015