Инкрементальная сборка Android NDK - PullRequest
14 голосов
/ 01 декабря 2010

В настоящее время я работаю над большим приложением для Android, использующим огромное количество кода на C ++.Он компилируется и запускается, пока что все хорошо.

К сожалению, каждый раз, когда я изменяю что-то в структуре моего исходного кода (добавление / удаление / переименование / перемещение файла), что происходит довольно часто, ndk-build восстанавливает весь исходный код, даже нетронутые файлы.

Кто-нибудь знает, как я могу настроить Android NDK для постепенной сборки?

Заранее спасибо

1 Ответ

11 голосов
/ 01 декабря 2010

Мне надоела система сборки NDK, я немного изучил ее и написал свои собственные make-файлы.Это было не сложно.

Однако мне было указано, что, сделав это, я должен буду взять на себя ответственность за отслеживание будущих изменений на платформе, например, если возникнет необходимость отправить двоичные файлы для дополнительныхДля типов процессоров мне бы пришлось изменить свое собственное решение для сборки сборки.

В других случаях у меня иногда были проекты с двумя системами сборки - одна для быстрых экспериментов, другая для развертываемых сборок.Время, потраченное на обновление как сейчас, так и потом, было сэкономлено много раз в увеличении скорости для повседневной работы.При условии, что мне приходилось делать реальную сборку, по крайней мере, каждую неделю или две, вещи никогда не выходили за рамки согласованности (и оба сценария сборки были в системе контроля версий, так что была история, которую нужно изучить).Нечто подобное можно сделать с помощью специального файла сборки для отладочных сборок и при этом использовать систему сборки NDK для развертываемых пакетов.

(В одном случае, когда я проводил много экспериментов на краю того, что позволяет платформа, у меня фактически был мой make-файл, помещающий обновленный файл .so на устройство, и я давал своему приложению одну из обескураженных кнопок для выхода из системы.чтобы я мог перезапустить его, используя обновленную нативную библиотеку, даже не перестраивая и не переустанавливая apk)

...