gpt4 book ai didi

android - DataBindingInfo.java 在每次代码更改时重新生成

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:13:44 24 4
gpt4 key购买 nike

我正在开发相当大的多模块 Android 项目,该项目使用数据绑定(bind)、Dagger 2 和 Java 以及 Kotlin。

项目“代码”文件(包括 Activity 、自定义类等的 .java 和 .kt 文件)稍作改动后,构建时间就会很长(最多 2 分钟)。即使我在添加新行之类的更改或修改评论中的一个字符时也会发生这种情况。

我确实使用 --info 参数运行 Gradle 脚本并得到以下提示,它在以下任务中“挂起”:

Build cache key for task ':AppName:kaptDebugKotlin' is 1a3a53e5f9b0934ab50a25c0133055f2 Up-to-date check for task ':AppName:kaptDebugKotlin' took 0.0 secs. It is not up-to-date because: Input property 'source' file /Users/username/Android/project-directory/AppName/build/generated/source/dataBinding/debug/android/databinding/layouts/DataBindingInfo.java has changed. Input property 'source' file /Users/username/Android/project-directory/AppName/src/main/java/com/package/to/my/activity/SomeActivity.java has changed.

DataBindingInfo.java 是生成的文件,其中仅包含一个 buildId:

package android.databinding.layouts;

import android.databinding.BindingBuildInfo;

@BindingBuildInfo(buildId="23567c57-d3c8-4999-bc79-6211351c7d89")
public class DataBindingInfo {}

每当代码发生任何变化时,buildId 哈希都会发生变化。

该项目使用 Crashlytics,但我在调试构建时禁用了它。

这种行为的原因可能是什么?

编辑:即使 Android Studio 关闭并且我在外部编辑器中进行更改并从命令行运行构建,buildId 也会在项目上重新生成。

最佳答案

您可以使用以下调试代码(或其他调试变体,如果需要)禁用 Android Gradle 的自动 buildId 更新。

android {
...
buildTypes {
debug {
ext.alwaysUpdateBuildId = false
...
}
}
}

关于android - DataBindingInfo.java 在每次代码更改时重新生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49861487/

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