jetpack compose:更新到 alpha08 后@Preview 未解决
jetpack compose: @Preview is unresolved after updating to alpha08
我将撰写库从 alpha07
更新为 alpha08
version = "1.0.0-alpha08"
androidx.compose.ui:ui:$version
androidx.ui:ui-tooling:$version
但之后androidx.ui.tooling.preview.Preview
未解决
查看 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"
}
但这并不能解决我的问题。
顶部 gradle :
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。
如上更新依赖项。
在这种情况下一切都很好并且都可以编译,
瞧,
对我有用的最新工具依赖项是
implementation "androidx.compose.ui:ui-tooling:1.2.0-alpha07"
我正在使用
Android Studio Arctic Fox | 2020.3.1
Build #AI-203.7717.56.2031.7583922, built on July 27, 2021
我将撰写库从 alpha07
更新为 alpha08
version = "1.0.0-alpha08"
androidx.compose.ui:ui:$version
androidx.ui:ui-tooling:$version
但之后androidx.ui.tooling.preview.Preview
未解决
查看 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"
}
但这并不能解决我的问题。
顶部 gradle :
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。
如上更新依赖项。
在这种情况下一切都很好并且都可以编译,
瞧,
对我有用的最新工具依赖项是
implementation "androidx.compose.ui:ui-tooling:1.2.0-alpha07"
我正在使用
Android Studio Arctic Fox | 2020.3.1
Build #AI-203.7717.56.2031.7583922, built on July 27, 2021