【发布时间】:2020-12-29 15:41:19
【问题描述】:
在多模块项目中集成 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 组合时出现问题。它还需要在 app 模块的 build.gradle.kts 文件中添加所有依赖项。
添加相同的代码行后,gradle task (:app:compileDebugKotlin) 一直在无限循环中运行,没有任何错误信息。
我在这里做错了什么?任何帮助都将是可观的。谢谢!
Update-1 运行 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.
【问题讨论】:
-
运行
gradlew compileDebugKotlin --debug并查看构建卡住的点任务/类。 -
@NikolaDespotoski 运行上面的命令,我没有找到任何卡住的类,它只是说完成了 99% 并且进程继续运行。使用堆栈跟踪更新问题。
标签: android kotlin android-jetpack-compose