gpt4 book ai didi

android - 我如何使用数据绑定(bind)和 Dagger 2 查找错误?

转载 作者:搜寻专家 更新时间:2023-11-01 07:44:04 24 4
gpt4 key购买 nike

我几天前更新了 Android Studio。并更新sdk、构建工具和架构组件

compileSdkVersion 27
minSdkVersion 15
targetSdkVersion 27

arch_core_version = "1.1.0"
arch_room_version = "1.1.0-alpha1"
arch_lifecycle = "1.1.0"
//tool_version = "26.0.2"
tool_version = "27.0.3"
//support_version = "26.1.0"
support_version = "27.0.2"
dagger_version = "2.14.1"
retrofit_version = "2.3.0"
stetho = "1.5.0"
okhttp = "3.9.0"
constraint_layout_version = "1.1.0-beta1"
glide_version = "4.2.0"
timber_version = "4.5.1"
androidasync = "2.+"
cookie = "v1.0.1"
firebase = "11.8.0"

因为我的应用程序没有编译。我收到类似

的错误
app/src/main/java/com.example/ui/home/HomeFragment.java
Error:(20, 45) error: package com.example.databinding does not exist
Error:(33, 48) error: cannot find symbol class FragmentHomeBinding

与其他 fragment 和 Activity 类似。

我上次编译我的应用程序是在半年前。没有错误。

我发现我需要使用 --stacktrace 和 --debug 进行编译

我得到错误

app/src/main/java/com/example/app/ui/home/HomeFragment.java:20: error: package com.example.app.databinding does not exist
import com.example.app.databinding.FragmentHomeBinding;
^
symbol: class FragmentHomeBinding

app/src/main/java/com/example/app/ui/common/BaseFragment.java:67: error: cannot find symbol
private android.databinding.DataBindingComponent dataBindingComponent = new BaseDataBindingComponent(this);
^
symbol: class DataBindingComponent
location: package android.databinding

...

[ERROR] [system.err] 100 errors
...
[org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWithJavac'.
...
[org.gradle.internal.buildevents.BuildExceptionReporter] Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.

与其他 fragment 和 Activity 类似。超过 14 000 行的完整日志

我尝试将 gradle 更改为 3.1.0-alpha06 并添加 android.databinding.enableV2=true。但是我有同样的错误。

Google 说这是我的 xml 中的错误。我不确定我在过去半年是否做出了改变。

我尝试在更新后编译成功的其他应用程序中添加一些错误,但控制台日志中有错误。我无法获得与我的第一个应用程序中相同的错误,所以我不知道在哪里查找错误。

最佳答案

Mustafa Berkay Mutlu帮助我解决问题的评论。

Note in Dagger's doc

Github issue

Android studio 默认只显示 100 个错误。

我加了

gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xmaxerrs" << "500" // or whatever number you want
}
}

到我的 build.gradle(项目),在第 246 行我看到了破坏我的应用程序的错误。

我有这个代码

@Query("select id from Message where dialogId = :dialogId order by id limit 1")
List<Message> lastId(long dialogId);

代码在上次更新之前是有效的,但现在我收到错误消息类的字段多于查询返回的字段。

我添加了新类

public class OnlyId {
private final int id;

public OnlyId(int id) {
this.id = id;
}

public int getId() {
return id;
}
}

关于android - 我如何使用数据绑定(bind)和 Dagger 2 查找错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48457290/

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