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

JScience非常适合此需求,但是由于以下错误,我无法编译适用于Android的应用程序:

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

我注意到JSCience由javolution支持。这给了我两个选择:找到一个不同的库(我找到了JSR-363 API,但是除了this SO response链接中讨论的几个用例之外,我一直找不到关于它的文档;例如,链接不讨论具体的单元类型以及在何处可以找到它们)或解决我在JScience和Android之间遇到的不兼容问题。

我将接受一种解决方案。

最佳答案

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

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


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

关于java - JScience测量单元库与android不兼容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53635356/

10-09 09:24