【发布时间】:2020-12-05 08:44:44
【问题描述】:
我将撰写库从 alpha07 更新为 alpha08
version = "1.0.0-alpha08"
androidx.compose.ui:ui:$version
androidx.ui:ui-tooling:$version
但在那之后androidx.ui.tooling.preview.Preview 未解决
【问题讨论】:
标签: android android-jetpack-compose
我将撰写库从 alpha07 更新为 alpha08
version = "1.0.0-alpha08"
androidx.compose.ui:ui:$version
androidx.ui:ui-tooling:$version
但在那之后androidx.ui.tooling.preview.Preview 未解决
【问题讨论】:
标签: android android-jetpack-compose
查看 Jetpack compose 中的 release note of alpha08,您会注意到 ui-tooling 已从 androidx.ui 移动到 androidx.compose.ui
你需要做的改变:
dependencies {
// New dependencies
implementation "androidx.compose.ui:ui-tooling:1.0.0-alpha08"
testImplementation "androidx.compose.ui:ui-test:1.0.0-alpha08"
// Old dependencies
implementation "androidx.ui:ui-tooling:1.0.0-alpha07"
testImplementation "androidx.ui:ui-test:1.0.0-alpha07"
}
【讨论】:
你的意思是使用:
dependencies {
// New dependencies
implementation 'androidx.compose.ui:ui-tooling:1.0.0-beta02"
testImplementation "androidx.compose.ui:ui-test:1.0.0-beta02"
// Old dependencies
implementation "androidx.ui:ui-tooling:1.0.0-alpha07"
testImplementation "androidx.ui:ui-test:1.0.0-alpha07"
}
并使用
android {
//....
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
useIR = true
}
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerVersion "1.4.31"
kotlinCompilerExtensionVersion "1.0.0-beta02"
}
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach
{
kotlinOptions {
jvmTarget = "1.8"
}
但这并不能解决我的问题。
顶级等级:
dependencies {
classpath "com.android.tools.build:gradle:4.2.0-alpha16"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31"
}
我暂时没有找到使用最后一个 compose 依赖版本的解决方案。
【讨论】:
通过以下方式解决了问题:
使用最新的 Android Studio Artic Fox (Canary build) 而不是任何其他金丝雀旧 IDE。
使用 Android studio Artic Fox Embeded JDK(openjdk 版本“11.0.8”)或下载并用 OpenJdk 11 替换 1.8 java。
如上更新依赖项。
在这种情况下,一切都很好,都可以编译,
瞧,
【讨论】: