首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您正在使用的compose编译器插件(版本1.0.1)要求最低运行时版本为1.0.1

您正在使用的compose编译器插件(版本1.0.1)要求最低运行时版本为1.0.1
EN

Stack Overflow用户
提问于 2021-09-08 20:37:23
回答 2查看 732关注 0票数 0

我正在将Jetpack Compose集成到我的应用程序的legacy模块中,并在构建时运行到一个问题IncompatibleComposeRuntimeVersionException中。我希望能帮你解决这个问题。

代码语言:javascript
复制
androidx.compose.compiler.plugins.kotlin.IncompatibleComposeRuntimeVersionException: You are using an outdated version of Compose Runtime that is not compatible with the version of the Compose Compiler plugin you have installed. The compose compiler plugin you are using (version 1.0.1) expects a minimum runtime version of 1.0.1.
    at androidx.compose.compiler.plugins.kotlin.VersionChecker.outdatedRuntimeWithUnknownVersionNumber(VersionChecker.kt:116)
    at androidx.compose.compiler.plugins.kotlin.VersionChecker.check(VersionChecker.kt:81)
    at androidx.compose.compiler.plugins.kotlin.ComposeIrGenerationExtension.generate(ComposeIrGenerationExtension.kt:57)
...

我一直在关注official guide,并在the other relevant stackoverflow post上寻找答案。我的应用程序的代码与官方指南非常匹配,相关的SO帖子也没有帮助。

以下是依赖项

代码语言:javascript
复制
compose_activity: "androidx.activity:activity-compose:1.3.1",
compose: [ // versions.androidx.compose = 1.0.1
    "androidx.compose.ui:ui:${versions.androidx.compose}", 
    "androidx.compose.ui:ui-tooling:${versions.androidx.compose}",
    "androidx.compose.material:material:${versions.androidx.compose}",
    "androidx.compose.foundation:foundation:${versions.androidx.compose}",
    "androidx.compose.runtime:runtime:${versions.androidx.compose}",
    "androidx.compose.runtime:runtime-livedata:${versions.androidx.compose}",
    "androidx.compose.runtime:runtime-rxjava2:${versions.androidx.compose}",
],

在项目build.gradle中

代码语言:javascript
复制
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }

    dependencies {
        classpath "com.android.tools.build:gradle:7.0.1"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
    }
    android {
    buildFeatures {
        compose true
    }
    composeOptions {
        kotlinCompilerExtensionVersion '1.0.1'
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

在应用程序、传统和项目build.gradle中

代码语言:javascript
复制
    buildFeatures {
        // Enables Jetpack Compose for this module
        compose true
    }

在通用ui模块中(在应用程序和遗留模块中实现)

代码语言:javascript
复制
    api libs.androidx.compose
    api libs.androidx.compose_activity
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-09 16:16:22

解决方案是将composeOptionsbuildFeaturescompileOptions中的组合设置代码移动到编写组合代码的legacy模块。官方文档指定了app模块,这并不总是准确的。

票数 0
EN

Stack Overflow用户

发布于 2021-09-08 21:19:44

尝试将此代码添加到项目级构建中

代码语言:javascript
复制
buildscript {
    ext {
        compose_version = '1.0.1' //latest is 1.0.2 though (stable)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69109394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档