【问题标题】:How to fix error 'No signature of method' while using Android ViewBinding如何在使用 Android ViewBinding 时修复错误“没有方法签名”
【发布时间】:2021-03-03 07:47:31
【问题描述】:

我正在尝试使用 ViewBinding。为此,我排除了来自 kotlinx.android.synthetic 的所有导入。并添加以下代码。

    buildFeature{
viewBinding true
}

但它抛出错误:没有方法签名:build_7jhh1700vj1t807398gidh9lp.android() 适用于参数类型:(build_7jhh1700vj1t807398gidh9lp$_run_closure1) 值:[build_7jhh1700vj1t807398gidh9lp$_run_closure1@688

为什么会被抛出,我该怎么办? 这是我完整的 build.gradle(app) 代码:

更新了 build.gradle 文件;

 plugins {
    id 'com.android.application'
    id 'kotlin-android'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.aks.navigationsafeargs"
        minSdkVersion 19
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.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
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }

    buildFeature {
        viewBinding true
    }
}

dependencies {

    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.3.2'
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.3'
    implementation 'androidx.navigation:navigation-ui-ktx:2.3.3'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

【问题讨论】:

    标签: android kotlin android-jetpack android-viewbinding


    【解决方案1】:

    替换

    buildFeature{
        viewBinding true
    }
    

    buildFeatures{
        viewBinding true
    }
    
    

    它是buildFeatures。有一个''不见了。

    【讨论】:

    • 现在我收到此错误:[databinding] {"msg":"Found \u003clayout\u003e 但未启用数据绑定。\n\n将 buildFeatures.dataBinding \u003d true 添加到您的构建中。 gradle 以启用它。","file":"C:\\Users\\akash\\AndroidStudioProjects\\NavigationSafeArgs\\app\\src\\main\\res\\layout\\fragment_home.xml","pos ":[]}
    • 您是否在布局文件中添加了<layout> 标签?如果您还需要使用此标签绑定数据,请设置dataBinding true。否则从 XML 布局文件中删除这些标签
    • 是的,我已经添加了 标签。即使在 buildFeatures 中启用 dataBinding 后,它也会抛出同样的错误。
    • 添加后同步了吗?请分享更新后的build.gradle
    • 是的,@VarshaKulkarni 我已经同步了 Gradle 文件。我已经在问题本身中分享了我的 Gradle 文件。即使在为 dataBinding 添加代码之后,我也没有任何改变。
    猜你喜欢
    • 2021-09-13
    • 2020-08-31
    • 2022-09-24
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多