我面临的问题,当集成jetpack compose在一个多模块的项目。
一个模块库具有jetpack compose的所有依赖项,并且我能够编译和运行在该模块中编写的jetpack compose代码。
android {
...
kotlinOptions {
jvmTarget = '1.8'
useIR = true
}
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion compose_version
kotlinCompilerVersion '1.4.21'
}
}
dependencies {
...
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.ui:ui-tooling:$compose_version"
...
}
其中compose_version='1.0.0-alpha09'
当我将库模块添加到应用程序模块中并将jetpack组件集成在其中时,问题就出现了。它还需要在应用程序模块的build.gradle.kts文件中添加所有依赖项。
在添加相同的行代码之后,gradle任务(:app:CompileDebugKotlin)继续在无限循环中运行,没有任何错误消息。
我在这里做错了什么?任何帮助都是值得的。谢谢!
Update-1运行gradlew compileDebugKotlin--debug,它卡在stack-trace下面
2020-12-30T12:26:42.079+0530 [DEBUG]
[org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on
daemon addresses registry.
2020-12-30T12:26:42.079+0530 [DEBUG]
[org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire
shared lock on daemon addresses registry.
2020-12-30T12:26:42.080+0530 [DEBUG]
[org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on
daemon addresses registry.
2020-12-30T12:26:42.080+0530 [DEBUG]
[org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on
daemon addresses registry.
我遇到过一个非常相似的问题,完全相同的StackTrace。在我的例子中,它是由kotlin synthetic(android-kotlin-extensions)插件造成的。删除插件(如添加buildFeatures{compose true}中所建议的,会导致构建无限期地进行。如何调查问题?)解决了问题。