将gradle从3.4升级到3.5会在生成的DataBindingClasses中引发“错误:找不到符号类”和“错误:包...不存在”

时间:2019-11-28 14:25:15

标签: android gradle build.gradle

我们将gradle从3.4.0升级到3.5.2,并使用distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip重新导入了包装器。不幸的是,Android Studio多次抛出以下错误:

error: cannot find symbol class UI  
error: package MyPackage does not exist 

在我的DatabindingClasses app/build/generated/data_binding_base_class_source_out/debug/dataBindingGenBaseClassesDebug/out/

缺少的符号和包装都与我的有关。因此,生成的DataBindingClass的导入看起来像这样:

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.VideoView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
import com.mypackage.mypackage.R;
import com.mypackage.mypackage.UI;
import java.lang.Deprecated;
import java.lang.Object;

升级后,我清理了项目,使缓存无效,删除了生成的build文件夹,然后重新启动了android studio,但没有成功。

3.5中是否缺少一些新功能?我通读了他们的发行说明,找不到任何内容。

1 个答案:

答案 0 :(得分:0)

  

解决方案:

这个答案在类似的情况下对我有帮助:https://stackoverflow.com/a/52550118/8655667

  1. 添加android.enableExperimentalFeatureDatabinding=true行,然后 android.databinding.enableV2=falsegradle.properties
  2. 同步项目
  3. 构建->清洁项目
  4. 构建->重建项目

重建后,应该会给出实际的编译失败原因。