无法在Android库模块中使用自定义构建注释

时间:2017-07-24 04:32:06

标签: java android android-library

我正在尝试为现有Java库构建Android库。在我的Java库中有一个名为org.wso2.siddhi.annotation.Extension的注释 当我尝试将此注释添加到类时,我收到以下错误。

Error:Execution failed for task ':siddhiservice:transformClassesAndResourcesWithSyncLibJarsForDebug'.
> java.util.zip.ZipException: duplicate entry: META-INF/annotations/org.wso2.siddhi.annotation.Extension

这是我的类实现。

package org.wso2.siddhiservice.sensors.proximity;

import org.wso2.siddhi.annotation.Example;
import org.wso2.siddhi.annotation.Extension;

@Extension(
        name = "proximity",
        namespace="source",
        description = "Get events from the proximity sensor",
        examples = @Example(description = "TBD",syntax = "TBD")
)
public class ProximitySensorSource extends Source {
}

如果我只删除@extension并清理项目,它可以正常工作。只有在我添加注释时才会出现问题。这些是我的库。

enter image description here

这是什么解决方案?

1 个答案:

答案 0 :(得分:0)

在应用annotationProcessor文件中使用gradle.build

    implementation files ('libs/Siddhi.jar');
    annotationProcessor files ('libs/Siddhi.jar')

另外,使用{ transitive = false }来避免重复文件

implementation (group: 'org.wso2.extension.siddhi.io.tcp', name: 'siddhi-io-tcp', version: '2.0.15'){ transitive = false }

它对我有用

enter image description here