1

我在我的 android 应用程序中有一个用例,我需要保存一个数量,对其执行计算,并以用户选择的单位(来自预定义列表)显示它。

JScience 完美地满足了这一需求,但由于以下错误,我无法为 Android 编译应用程序:

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

我注意到 JSCience 是由 javolution 驱动的。这给我留下了两个选择:找到一个不同的库(我找到了 JSR-363 API,但除了这个 SO 响应中的链接中讨论的几个用例之外,我无法找到关于它的文档;例如,那些链接不讨论具体的单元类型以及在哪里可以找到它们)或修复我在 JScience 和 Android 之间遇到的不兼容问题。

我会接受一个解决方案,可以做到其中任何一个。

4

1 回答 1

3

不知道还有什么用它,但这是由 javolution 的双重依赖引起的。您可以做的是在 build.gradle (Module app) 文件中,您可以在包含 jscience 时排除 javolution。

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

清理/重建项目,它应该可以工作。

于 2018-12-31T20:40:22.083 回答