Библиотека единиц измерения JScience несовместима с Android - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть сценарий использования в моем приложении для Android, где мне нужно сохранить количество, выполнить его вычисления и отобразить его в единицах по выбору пользователя (из предварительно определенного списка).

JScienceидеально подходит для этого, но я не могу скомпилировать приложение для Android из-за следующей ошибки:

Error: Program type already present: javolution.ContextTestSuite$1

Я отмечаю, что JSCience работает на javolution.Это оставляет мне два варианта: найти другую библиотеку (я нашел JSR-363 API, но мне не удалось найти документацию по ней, за исключением нескольких случаев использования, как описано в ссылках в этом SO-ответе ; например, эти ссылки не обсуждают конкретные типы юнитов и где они могут быть найдены) или исправляют несовместимость, с которой я столкнулся между JScience и Android.

Я приму решение, которое делает любой из этих.

1 Ответ

0 голосов
/ 31 декабря 2018

Не уверен, что еще его использует, но это вызвано двойной зависимостью javolution.То, что вы можете сделать, находится в файле build.gradle (приложение модуля), вы можете исключить javolution, когда включите jscience.

dependencies {
    implementation 'com.android.support:support-v4:28.0.0'
    ...
    implementation('org.jscience:jscience:4.3.1') {
        exclude group: "org.javolution"
    }
}

Очистите / Перестройте проект, и он должен работать.

...