现有多模块应用程序中的 Jetpack Compose 依赖项

Jetpack Compose dependencies in existing Multi-Module app

我在将 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 Compose 时出现问题。它还需要在应用程序模块的 build.gradle.kts 文件中添加所有依赖项。

添加相同代码行后,gradle 任务 (:app:compileDebugKotlin) 保持 运行 无限循环,没有任何错误消息。

我做错了什么?任何帮助将不胜感激。谢谢!

Update-1 运行ning gradlew compileDebugKotlin --debug,它卡在下面的堆栈跟踪

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.

我遇到了一个非常相似的问题,完全相同的堆栈跟踪。在我的例子中,它是由 kotlin 合成 (android-kotlin-extensions) 插件引起的。删除插件(如 中的建议)解决了问题。