java.lang.IllegalStateException: function = , count = 4<anonymous>, index = 4



我在构建项目时遇到此错误

java.lang.IllegalStateException: function = <anonymous>, count = 4, index = 4
at androidx.compose.compiler.plugins.kotlin.lower.ComposerLambdaMemoization.wrapFunctionExpression(ComposerLambdaMemoization.kt:697)
at androidx.compose.compiler.plugins.kotlin.lower.ComposerLambdaMemoization.visitComposableFunctionExpression(ComposerLambdaMemoization.kt:544)
at androidx.compose.compiler.plugins.kotlin.lower.ComposerLambdaMemoization.visitFunctionExpression(ComposerLambdaMemoization.kt:608)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFunctionExpression(IrElementTransformerVoid.kt:235)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFunctionExpression(IrElementTransformerVoid.kt:24)
at org.jetbrains.kotlin.ir.expressions.impl.IrFunctionExpressionImpl.accept(IrFunctionExpressionImpl.kt:23)
at org.jetbrains.kotlin.ir.expressions.IrExpression.transform(IrExpression.kt:33)
at org.jetbrains.kotlin.ir.expressions.IrFunctionAccessExpression.transformChildren(IrFunctionAccessExpression.kt:48)

以下是我的依赖

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.compose.ui:ui:1.0.0-beta06"
implementation "androidx.compose.material:material:1.0.0-beta06"
implementation "androidx.compose.ui:ui-tooling:1.0.0-beta06"
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
implementation 'androidx.activity:activity-compose:1.3.0-alpha08'
implementation "androidx.navigation:navigation-compose:2.4.0-alpha01"
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.0.0-beta06"

Jetpack compose过去在Artic Fox Canary上对我来说很好,但当我在Artic福克斯Beta 1上构建我的项目时,我遇到了这个错误。

将所有组合库更新为beta07:

implementation "androidx.compose.ui:ui:1.0.0-beta07"
implementation "androidx.compose.material:material:1.0.0-beta07"
implementation "androidx.compose.ui:ui-tooling:1.0.0-beta07"
androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.0.0-beta07"
implementation "androidx.navigation:navigation-compose:2.4.0-alpha01"

最好使用以下内容:

ext {
compose_version = '1.0.0-beta07'
}

然后:

implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
//...

compose编译器存在问题。仅仅更新compose库是不够的,编译器还需要至少更新到beta07。这很容易被忽略,因为它没有依赖项列表,并且在Android Studio中还没有lint突出显示。

composeOptions {
kotlinCompilerExtensionVersion "1.0.0-rc01"
}

相关内容

最新更新