首页 > 解决方案 > 在 build.gradle 文件中添加 buildFeatures 时出错

问题描述

我正在尝试 compose,这是 Andorid jetpack 中的一个新功能。下面是我的代码。我在 app 的 build.gradle 文件中添加 buildfeatures,而不是在根文件夹中。

android {
    compileSdkVersion compileSDKVer
    buildToolsVersion buildToolsVer
    defaultConfig {
        applicationId "com.sample.slothyhacker.jetpackcompose"
        minSdkVersion minSdkVer
        targetSdkVersion targetSdkVer
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    buildFeatures {
        // Enables Jetpack Compose for this module
        //compose true
    }

    compileOptions {
        // Set both the Java and Kotlin compilers to target Java 8.
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

但是我的项目给了我一个编译错误。如果有人能说明做错了什么,我将不胜感激。

Could not find method buildFeatures() for arguments [build_7yf57wk394cperk1t82v120yf$_run_closure1$_closure5@78c292be] on object of type com.android.build.gradle.internal.dsl.BaseAppModuleExtension.

标签: androiduser-interfaceandroidxandroid-jetpack-compose

解决方案


当我尝试将 Jetpack 添加到我现有的应用程序时,我发现了这个错误。我遵循了Suraj 的回答,甚至使用了最新的Kotlin gradle 插件,但无法准确找出问题所在。我也遵循了官方设置指南,但没有奏效。一切似乎都很好,但没有任何帮助。

安装 Android Studio 4.0 canary 也无济于事。

事实证明,仅包含某些依赖项是不够的——您需要特定版本或更高版本。我使用的是较旧的Android Gradle 插件:3.5.3. 升级以4.0.0-alpha07修复错误:

classpath 'com.android.tools.build:gradle:4.0.0-alpha07'

如果您将 Jetpack 添加到现有应用程序,请务必检查您的依赖项


推荐阅读