Клиент Android и Java-сервер в одном проекте git

Я разрабатываю простое приложение для Android и должен взаимодействовать с сервером с помощью REST api. Как клиент, так и сервер используют классы kotlin и serialize для json с помощью Jackson и API, выглядит так:

class xRequest { .. } class xResponse { .. } 

Клиент и сервер имеют свои собственные репозитории git, и я использую Android Studio и Idea для совместной работы с ними. Это приводит к дублированию декларации классов, поскольку они оба должны знать API.

Каков наилучший способ избавиться от дублирования? Я мог бы переместить API в какой-то третий проект, а затем построить – опубликовать – добавить зависимость от него, но это большая работа во время разработки.

Это хорошая идея переместить их в один проект, чтобы он выглядел так:

 my project api android-client server 

благодаря

    Это классическая проблема дублирования. Что мы обычно делаем в этом случае?
    Извлечь дублированный код в отдельный объект и повторно использовать его.

    Итак, я бы представил новый чистый проект java под названием core и добавил его как зависимость от android-client и server .

    Давайте будем гением компьютера.