【问题标题】:Incompatible types on import导入时不兼容的类型
【发布时间】:2020-12-23 10:43:33
【问题描述】:

我更新了我们的项目以使用 4.0.0 版本的 gradle 插件版本 4.1.1。更新后,我在import 行上收到一个奇怪的编译器错误error: incompatible types: <null> cannot be converted to int。如果我从代码中删除 import 和所有引用,我会在同一行得到相同的错误(现在有不同的 import),所以这让我相信问题不在于导入类。在更新之前,该项目没有错误。阅读 gradle 插件更新的更新日志,我找不到相关记录。 IDE 显示没有问题。我该如何调查问题的实质?

【问题讨论】:

  • 这些导入是否与 DAO 相关?因为如果它们是,那么可能有一些基于您的数据库的实体应该是 int,但在 db 级别它是可空的并且具有空值。
  • 不,原始类包含有关服务器的一些信息,但第二个只是一个字符串实用程序类,仍然会触发错误。
  • Tamás,你有第二个的写权限吗?你能检测出它为什么会崩溃吗?你可以为一个空类做一个导入吗?大概如果你导入一个空类,就不会发生这样的错误。如果是这种情况,那么在您导入的文件中会发生一些事情。可能是缺少服务器变量或类似的东西。

标签: android android-studio gradle android-gradle-plugin


【解决方案1】:

事实证明,问题实际上出在生成的 BuildConfig 中,该 BuildConfig 被进一步导入到文件中。 Gradle 4.1.0 从 BuildConfig 中删除了版本名称和代码字段,因此我创建了包含此信息的自定义字段,但混淆了注入,因此版本代码 int 变量被注入了空值,这就是给我构建错误的原因。不知道为什么编译器在错误的地方提示错误。

【讨论】:

    猜你喜欢
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 2019-10-22
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多