AppBarMainBinding.java / contentmainbinding .java构建错误



我试着构建我的应用程序,我得到了堆栈错误。

示例AppBarMainBinding.javaerror:

C: My_App app 建立 data_binding_base_class_source_out 生成调试 com My_App 数据绑定 AppBarMainBinding.java例子:4:

错误:package android.support.design.widget不存在import android.support.design.widget.^CoordinatorLayout;(^显示错误项)

AppBarMainBinding.java

'build'文件夹下的文件被生成,不应该被编辑

// Generated by view binder compiler. Do not edit!
package com.example.gym_app.databinding;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewbinding.ViewBinding;
import androidx.viewbinding.ViewBindings;
import com.example.gym_app.R;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
public final class AppBarMainBinding implements ViewBinding {
@NonNull
private final CoordinatorLayout rootView;
@NonNull
public final FloatingActionButton fab;
@NonNull
public final Toolbar toolbar;
private AppBarMainBinding(@NonNull CoordinatorLayout rootView, @NonNull FloatingActionButton fab,
@NonNull Toolbar toolbar) {
this.rootView = rootView;
this.fab = fab;
this.toolbar = toolbar;
}
@Override
@NonNull
public CoordinatorLayout getRoot() {
return rootView;
}
@NonNull
public static AppBarMainBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static AppBarMainBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.app_bar_main, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static AppBarMainBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.fab;
FloatingActionButton fab = ViewBindings.findChildViewById(rootView, id);
if (fab == null) {
break missingId;
}
id = R.id.toolbar;
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
if (toolbar == null) {
break missingId;
}
return new AppBarMainBinding((CoordinatorLayout) rootView, fab, toolbar);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

示例ContentMainBindind.javaerror:

(C:相同)错误:package android.support.constraint不存在private final ^ConstraintLayout rootView;(^显示错误项)

symbol: class ConstraintLayout

location: class ContentMainBinding

ContentMainBinging.java

'build'文件夹下的文件被生成,不应该被编辑">

// Generated by view binder compiler. Do not edit!
package com.example.gym_app.databinding;
import android.support.constraint.ConstraintLayout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewbinding.ViewBinding;
import com.example.gym_app.R;
import java.lang.NullPointerException;
import java.lang.Override;
public final class ContentMainBinding implements ViewBinding {
@NonNull
private final ConstraintLayout rootView;
private ContentMainBinding(@NonNull ConstraintLayout rootView) {
this.rootView = rootView;
}
@Override
@NonNull
public ConstraintLayout getRoot() {
return rootView;
}
@NonNull
public static ContentMainBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static ContentMainBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.content_main, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static ContentMainBinding bind(@NonNull View rootView) {
if (rootView == null) {
throw new NullPointerException("rootView");
}
return new ContentMainBinding((ConstraintLayout) rootView);
}
}

构建。grandle (app)

plugins {
id 'com.android.application'
}
android {
compileSdk 31
defaultConfig {
applicationId "com.example.gym_app"
minSdk 31
targetSdk 31
versionCode 1
versionName "1.0"
compileSdkVersion 31
buildToolsVersion "30.0.2"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildFeatures {
viewBinding true
}
}
dependencies {
implementation 'android.arch.navigation:navigation-fragment:1.0.0'
implementation 'android.arch.navigation:navigation-ui:1.0.0'
implementation 'androidx.lifecycle:lifecycle-runtime:2.3.1'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'devs.mulham.horizontalcalendar:horizontalcalendar:1.3.4'
implementation 'org.web3j:compat:4.6.0-android'
implementation 'org.jetbrains:annotations:15.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
}

grande.proprties

org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
android.useAndroidX=true
android.enableJetifier=true

问题是编译器无法从android.support包中找到一些类。这可能是因为您想使用androidx,但在布局xml中引用了错误的包。

确保您在布局xml中使用了androidx包中的视图和小部件。

同时将所有android.arch依赖项更新为最新的androidx等效项。