【问题标题】:Can't use custom build annotation in Android Library Module无法在 Android 库模块中使用自定义构建注释
【发布时间】:2017-07-24 04:32:06
【问题描述】:

我正在尝试为现有的 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 并清理项目,它就可以正常工作。只有当我添加注释时才会出现问题。这些是我的库。

解决办法是什么?

【问题讨论】:

    标签: java android android-library


    【解决方案1】:

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

        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 }
    

    对我有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      相关资源
      最近更新 更多