首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加jetpack compose时的ConstantExpressionEvaluator.evaluateExpression NoSuchMethodError

添加jetpack compose时的ConstantExpressionEvaluator.evaluateExpression NoSuchMethodError
EN

Stack Overflow用户
提问于 2021-07-08 20:25:59
回答 1查看 260关注 0票数 3

将jetpack compose添加到我的应用程序后,如:https://developer.android.com/jetpack/compose/interop/compose-in-existing-ui所述,我在构建时看到以下错误:

代码语言:javascript
复制
Could not perform incremental compilation: Could not connect to Kotlin compile daemon
Could not connect to kotlin daemon. Using fallback strategy.
exception: java.lang.NoSuchMethodError: org.jetbrains.kotlin.resolve.constants.evaluate.ConstantExpressionEvaluator.evaluateExpression$default(Lorg/jetbrains/kotlin/resolve/constants/evaluate/ConstantExpressionEvaluator;Lorg/jetbrains/kotlin/psi/KtExpression;Lorg/jetbrains/kotlin/resolve/BindingTrace;Lorg/jetbrains/kotlin/types/KotlinType;ZILjava/lang/Object;)Lorg/jetbrains/kotlin/resolve/constants/CompileTimeConstant;
        at org.jetbrains.kotlin.kapt3.stubs.ClassFileToSourceStubConverter.getConstantValue(ClassFileToSourceStubConverter.kt:808)
        at org.jetbrains.kotlin.kapt3.stubs.ClassFileToSourceStubConverter.convertPropertyInitializer(ClassFileToSourceStubConverter.kt:775)
        at org.jetbrains.kotlin.kapt3.stubs.ClassFileToSourceStubConverter.convertField(ClassFileToSourceStubConverter.kt:738)
        at org.jetbrains.kotlin.kapt3.stubs.ClassFileToSourceStubConverter.convertField$default(ClassFileToSourceStubConverter.kt:678)
        at org.jetbrains.kotlin.kapt3.stubs.ClassFileToSourceStubConverter.convertClass(ClassFileToSourceStubConverter.kt:409)
        at org.jetbrains.kotlin.kapt3.stubs.ClassFileToSourceStubConverter.convertTopLevelClass(ClassFileToSourceStubConverter.kt:202)
        at org.jetbrains.kotlin.kapt3.stubs.ClassFileToSourceStubConverter.convert(ClassFileToSourceStubConverter.kt:147)
        at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.generateKotlinSourceStubs(Kapt3Extension.kt:297)
        at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:172)
        at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:102)
        at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$invokeExtensionsOnAnalysisComplete(TopDownAnalyzerFacadeForJVM.kt:108)
        at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:118)
        at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:85)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:517)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:508)
        at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:114)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:508)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:188)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:154)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:169)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:88)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:44)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:98)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:76)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:45)
        at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:227)
        at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit$default(CLITool.kt:222)
        at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:214)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler$Companion.main(K2JVMCompiler.kt:271)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.main(K2JVMCompiler.kt)
EN

回答 1

Stack Overflow用户

发布于 2021-08-26 02:22:44

当我尝试迁移jetpack compose时,也遇到了同样的问题。

确保kotlin gradle plugin kotlin-stdlib kotlin gradle plugin kotlinCompileVersion 使用相同的版本。

org.jetbrains.kotlin:kotlin-gradle-plugin

org.jetbrains.kotlin:kotlin-stdlib-jdk8

代码语言:javascript
复制
android {
    ....
    composeOptions {
        kotlinCompilerExtensionVersion composeVersion
        kotlinCompilerVersion xxxxxx // keep same here
    }
}

另外,如果您在为jetpack compose进行迁移时遇到任何问题。

谷歌提供了代码实验室。

git clone -b end https://github.com/googlecodelabs/android-compose-codelabs

main分支在迁移之前,end分支在迁移之后。

这样您就可以将您的项目设置与此代码实验室项目设置进行比较。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68301605

复制
相关文章

相似问题

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