Как легко переключать источники импорта в Java? - PullRequest
1 голос
/ 15 мая 2019

Примечание: пожалуйста, предложите лучший заголовок для этого вопроса.

Предположим, у меня есть два класса с одинаковым именем, и я хочу импортировать один или другой, прежде чем скомпилировать, в зависимости от варианта использования / версии приложения.,Есть ли способ сделать это?

Зачем мне это нужно?, Спросите вы.

Мне нужно использовать важную библиотеку Java, которая использует java.time, но мне также нужноПоддержка мин SDK 23 (Android 6.0).Я мог бы использовать threeThenABP в своем приложении для Android, чтобы иметь возможность использовать все java.time API, но мне нужно импортировать их из org.threeten.bp.

Эта важная библиотека на самом деле является частной,Итак, идея состоит в том, чтобы заставить его использовать либо java.time import, либо org.threeten.bp import, чтобы скомпилировать 2 версии, которые были бы совместимы как с Android, так и с настольными Java-приложениями.

Надеюсь, мои объяснения достаточно ясны,Спасибо за помощь.

1 Ответ

1 голос
/ 20 мая 2019

В итоге я использовал threetenbp в проекте библиотеки, как предложено @Ole VV
Затем в моем проекте Android я использовал threetenAbp (версия для Android) и импортировал библиотеку с помощью gradle,Наконец, исключение пакетов, используемых в библиотеке, означает, что вместо этого используется threetenAbp.

implementation ('my-library') {
    exclude group: 'org.threeten'
}

Примечание: обратите внимание на разницу (A) в threetenbp и threetenAbp.

...