gpt4 book ai didi

android - AndroidX 迁移后找不到符号 DataBindingComponent

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:52:54 27 4
gpt4 key购买 nike

将我的整个项目迁移到 android x 后,我无法再编译它了。

我收到 100 个以下错误:

e: M:\tmp\EverywhereLauncher\app\generated\data_binding_base_class_source_out\devWithoutTestWithAccessibilityDebug\dataBindingGenBaseClassesDevWithoutTestWithAccessibilityDebug\out\com\my\app\databinding\ActivityMainBinding.java:52: error: cannot find symbol
@Nullable ViewGroup root, boolean attachToRoot, @Nullable DataBindingComponent component) {
^
symbol: class DataBindingComponent
location: class ActivityMainBinding

我不知道从哪里继续。

我现在有两个问题。

  • 我只看到 100 个错误
  • 所有的错误都是一样的,可能隐藏了真正的错误

我尝试过的:

  • 我在我的项目 build.gradle 中进行了以下操作,以将打印错误的数量增加到 10000:

    gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
    options.compilerArgs << "-Xmaxerrs" << "10000"
    }
    }

    这总是有效,但在这种情况下,它不会增加打印的错误

有什么想法我接下来可以做什么吗?

额外的

  • 我使用以下内容

    android.enableJetifier=true
    android.useAndroidX=true
  • 我使用 android studio 3.2,以及 kotlin 1.2.613.3.0-alpha01 gradle 构建工具

  • 我使用 3.3.0-alpha01 gradle 构建工具,因为我还使用了 evernote com.evernote:android-state 否则它不会 - 问题在这里解释: https://github.com/evernote/android-state/issues/56

最佳答案

解决方案 - 增加记录的错误

在过去,在 broject 的 build.gradle 文件中执行以下操作就足够了:

gradle.projectsEvaluated {
tasks.withType(JavaCompile.class) {
options.compilerArgs << "-Xmaxerrs" << "10000"
}
}

对于 kotlin,以下内容会有所帮助:

afterEvaluate {
if (project.plugins.hasPlugin("kotlin-kapt")) {
kapt {
javacOptions {
option("-Xmaxerrs", 10000)
}
}
}
}

真正的问题

在我的例子中,我将一个类从 java 转换为 kotlin,其中包含如下一些字段:

@Arg
Integer someValue;

转换器创建如下:

@Arg
internal var someValue: Int? = null

问题:

internal 不适用于注释,因此失败,但日志仅显示数据绑定(bind)错误...

示例项目build.gradle

https://gist.github.com/MFlisar/eca8ae6c2e6a619913ab05d503a4368f

关于android - AndroidX 迁移后找不到符号 DataBindingComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52544440/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com