Android Gradle 注释处理器在父模块中不可用

2023-12-22

我有以下设置:

项目构建.gradle:

dependencies {
    compile (project(':ProjectB'))
}

项目B build.gradle:

dependencies {
    annotationProcessor 'com.ryanharter.auto.value:auto-value-parcel:0.2.5'
    compile "com.google.auto.value:auto-value:1.3"
    annotationProcessor "com.google.auto.value:auto-value:1.3"
}

And SomeClass在正在实施 Parcelable 的 ProjectA 中

@AutoValue
public abstract class SomeClass implements Parcelable {
...
}

AutoValue 不会在 AutoValue_SomeClass 中生成任何与 Parcelable 相关的方法。

但是,如果我直接将 auto-value-parcel commentProcessor 包含到 ProjectA 中,问题就解决了。

项目构建.gradle:

dependencies {
    compile (project(':projectB'))
    annotationProcessor 'com.ryanharter.auto.value:auto-value-parcel:0.2.5'
}

谁能解释一下如何auto-value-parcelannotationProcessor 被排除在 ProjectS 之外吗?


annotationProcessor依赖项不会导出到其他项目。此外,这些不随库一起导出。

AutoValue 本身可以工作,因为您用compile依赖性。这也是你不应该做的事情。所以更好的依赖设置看起来像......

ProjectB

dependencies {
    provided "com.jakewharton.auto.value:auto-value-annotations:$autoValueVersion"
    annotationProcessor "com.google.auto.value:auto-value:$autoValueVersion"
    annotationProcessor "com.ryanharter.auto.value:auto-value-parcel:$autoValueParcelVersion"
}

ProjectA

dependencies {
    compile project(':ProjectB')
    provided "com.jakewharton.auto.value:auto-value-annotations:$autoValueVersion"
    annotationProcessor "com.google.auto.value:auto-value:$autoValueVersion"
    annotationProcessor "com.ryanharter.auto.value:auto-value-parcel:$autoValueParcelVersion"
}

但没有annotationProcessor在所有项目上运行会更好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Gradle 注释处理器在父模块中不可用 的相关文章

随机推荐

  • Xcode 9.x 行复制和删除

    直到 Xcode 8 0 为止 都可以自定义 IDETextKeyBindingSet plist 文件 然而 现在看来修改此文件会导致 Xcode 停止正常运行 例如箭头键停止工作 并且似乎不再可能创建自己的快捷键 Xcode 从来没有行
  • 在 iOS 逻辑测试中使用 CocoaPods 时找不到库

    我正在尝试针对项目中的类编写一些 iOS 逻辑测试 这些类使用 podspec 中某些库的功能 我正在使用 Xcode 中提供的标准单元测试包 尽管不是应用程序测试 只是单元测试 例如 我使用 Magical Record 并且在我的 po
  • iPhone:将imageView设置在图像的透明部分

    我正在制作一个应用程序 其中用户将被允许首先选择一个相框 然后他 她必须从图库中为该相框选择 2 张照片 相框是一个包含两个透明孔的图像 其中我们有设置所选照片 他 她可以根据它们裁剪这些图像 在他 她完成裁剪后 将使用所选相框打开一个新视
  • 多线程编程C++[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • gcc 是否使用 Intel 的 SSE 4.2 指令进行文本处理(如果可用)?

    I read here https ieeexplore ieee org document 5762731英特尔推出的SSE 4 2 instructions用于加速字符串处理 引用文章中的内容 SSE 4 2指令集首先在Intel的Co
  • 在 Oracle 11g 中创建触发器时出现问题

    我在尝试使用 SQL Developer 在 Oracle 11g 数据库中创建触发器时遇到奇怪的错误 这是我所做的 我的桌子 CREATE TABLE COUNTRY CODE ID NUMBER 19 0 PRIMARY KEY NOT
  • 使用 FB Graph API 为特定页面创建 Facebook 事件

    我需要将 CMS 中的事件同步到 Facebook 特定页面 我正在尝试为我创建的页面创建一个事件 但仍然没有结果 我可以简单地创建与用户相关的事件 但与页面无关 代码使用Facebook PHP SDK http github com f
  • 当用户开始在 UITableView 上滚动时使用 alpha 隐藏 UIView?

    viewController由2个主要视图组成 容器视图和表视图 容器视图位于顶部 包含所有标签 例如日期和分数 我希望当用户开始滚动表视图的日期时隐藏此容器视图 到目前为止我有 连接了一个IBOutlet对于这个容器视图 这样我就可以在代
  • Django管理站点自定义search_fields查询

    在 django 管理中 您可以设置 ModelAdmin 的 search fields 以便能够搜索那里给出的属性 我的模型类有一个不是真正模型属性的属性 这意味着它不在数据库表中 该属性与另一个数据库表相关 该数据库表未通过关系与当前
  • ASP.NET 隐藏字段在回发后不更新

    我的 ASP 页面上有一些代码 如下所示
  • org.postgresql.util.PSQLException:错误:列 user0_.id 不存在 - Hibernate

    我有一个使用 hibernate 映射到 postgres 数据库的模型类 我的模型类是 Entity Table name USER public class User Id GeneratedValue Column name id p
  • 我怎样才能给这个CSS一个内边框?

    我试图给 page div 一个内部边框 该边框与顶部周围的灰色边框一致 http www designated net au testbed testpage http www designated net au testbed test
  • 是否有必要使用准备好的语句? [复制]

    这个问题在这里已经有答案了 准备好的语句添加了大量的代码 但我不断听到有人提到使用它们 从 1 行代码增加到大约 6 行代码会增加什么价值 这只是为了防止 SQL 注入吗 php net 关于准备好的语句here http php net
  • onAccessibilityEvent(AccessibilityEvent event) 不拦截通知

    在我的应用程序中 我必须捕获新传入的电子邮件通知并在屏幕上播放描述该事件的视频 我正在使用onAccessibilityEvent AccessibilityEvent event 收听生成的通知 我还使用以下代码来初始化我的 Access
  • 如何从等值线生成 3D 曲面?

    我有一组等值线点 或轮廓点 如下所示 等值线上的每个点都有其各自的 X Y 和 Z 坐标 由于它们是等值线 这意味着每个点将具有唯一的 X Y 对 但同一条线上的点将具有相同的 Z 坐标 现在 是否有任何算法或任何软件包 C 或 C 或 M
  • 在方法中使用 System.Reflection.MethodBase.GetCurrentMethod() 是否会阻止 JIT 编译器内联该方法?

    以下问题中的答案和评论提供了相互矛盾的信息 如何从代码中获取当前方法的名称 https stackoverflow com questions 2652460 how to get the name of the current metho
  • 闭包作为 Rust 结构中的类型

    我正在尝试在 Rust 中创建这样的结构 pub struct Struct
  • java.io.IOException:主机名未验证[重复]

    这个问题在这里已经有答案了 我正在尝试从 Andorid 版本 4 1 1 中的 Android 应用程序连接到 URL 并且收到问题标题中指示的错误 但是当我尝试从 Andorid 版本 4 0 4 或 3 1 连接相同的 URL 时 一
  • 使左右div高度相等,防止右div低于左div

    我有一个 HTML 页面 其内容分为左右部分 使用CSS 左侧内容的高度小于右侧内容的高度 因此 右侧内容 div 也位于左侧内容 div 下方 最终 右侧内容的边界不是一条直线 如何避免右侧内容向左侧蔓延 我们怎样才能使左侧内容的高度增加
  • Android Gradle 注释处理器在父模块中不可用

    我有以下设置 项目构建 gradle dependencies compile project ProjectB 项目B build gradle dependencies annotationProcessor com ryanharte