应用插件请求[id:'com.android.application']同时集成Jetpack合成

wswtfjt7  于 2022-11-27  发布在  Android
关注(0)|答案(9)|浏览(159)

我尝试使用Canary 8实现JetPack Compose,但每次尝试同步gradle时都出现此错误

    • 应用插件请求[id:'com. android.应用程序']**

我的app\build. gradle文件如下

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

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.0"

    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 21
        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 = '11'
        useIR = true
    }
    buildFeatures {
        compose true
    }
    composeOptions {
        kotlinCompilerExtensionVersion compose_version
        kotlinCompilerVersion '1.4.30'
    }
}
dependencies {
    implementation 'androidx.core:core-ktx:1.3.2'
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation "androidx.compose.ui:ui:$compose_version"
    implementation "androidx.compose.material:material:$compose_version"
    implementation "androidx.compose.ui:ui-tooling:$compose_version"
    implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0-alpha06'
    implementation 'androidx.activity:activity-compose:1.3.0-alpha02'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

我的build. gradle文件如下所示

buildscript {
    ext {
        compose_version = '1.0.0-beta01'
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.0-alpha08'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.30"
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

and this is my gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-all.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
djp7away

djp7away1#

Android Gradle插件7需要Java 11。
转到FileProject Structure并将JDK位置更改为Embedded JDK

gev0vcfq

gev0vcfq2#

对于Android Studio Artic Fox(2020.3.1),您可以在此处找到JDK设置:

Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JDK

然后将设置更改为“嵌入式JDK”

ddhy6vgd

ddhy6vgd3#

对于Android Studio Artic Fox(2020.3.1),Android Gradle插件7需要Java 11。使用快捷键Ctr+Alt+Shift+S或转至文件〉项目结构,然后将JDK位置更改为嵌入式JDK。

xe55xuns

xe55xuns4#

检查下图以重定向JDK源代码:
第一步.

第二步.

第三步。

你应该可以走了。

vm0i2vca

vm0i2vca5#

我遇到构建缓存问题,错误为:

An exception occurred applying plugin request [id: 'com.android.application']
> Failed to apply plugin 'com.android.internal.application'.
   > The option 'android.enableBuildCache' is deprecated.
     The current default is 'false'.
     It was removed in version 7.0 of the Android Gradle plugin.

从根gradle属性文件中删除org.gradle.caching=true解决了该问题。

fdbelqdn

fdbelqdn6#

根据文档,AGP 7.x.x需要Gradle 7。如您正在使用Gradle-wrapper中所示,您正在使用Gradle 6.8.2。请尝试更新项目以使用Gradle 7(当前最新版本为7.0-milestone-2)。您可以手动执行此操作,也可以简单地通过File〉Project Structure执行此操作。

yr9zkbsy

yr9zkbsy7#

我想你需要做的就是先去:

  1. Android Studio菜单-〉首选项-〉构建、执行、部署
    1.在gradle项目部分,选择:Gradle JDK版本下拉菜单
    1.它将显示您设备上安装的所有JDK//请参见右下角下拉菜单的随附图片。
    1.选择JDK 11。
    完成,现在您应该可以毫无问题地构建。
    或者,如果您使用CLI进行构建,则将~/.zshrc(或Ubuntu的bash等效文件,我使用的是MacOS 11,因此这里是Zsh,您的设备上应该有Bash)更改为JDK 11。更改Zsh/Bash资源文件后,保存它,然后执行命令:
  • $ source ~/.zshrc//更新更改
  • $ java -version//检查java版本

示例输出java版本:

openjdk version "11.0.8" 2020-07-14 LTS
OpenJDK Runtime Environment Corretto-11.0.8.10.1 (build 11.0.8+10-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.8.10.1 (build 11.0.8+10-LTS, mixed mode)

注意:* 我使用的是MacOS 11.2.1,Android Studio Artic Fox,2020.3.1,Gradle版本7.0.2*

mzsu5hc0

mzsu5hc08#

文件-〉项目结构-〉模块x1c 0d1x
首选项-〉构建、执行、部署-〉构建工具-〉Gradle

对我有用

hgtggwj0

hgtggwj09#

将插件更新到最低1.7.0版本

plugins {
   ...
   id 'org.jetbrains.kotlin.android' version '1.7.0' apply false
}

相关问题