gal*_*gus 26 android android-gradle-plugin android-jetpack-compose
最近 Jetpack Compose 1.5 发布,使用 compose POM 添加依赖项
implementation(platform("androidx.compose:compose-bom:2023.08.00"))
或直接使用
implementation("androidx.compose.ui:ui:1.5.0")
使用compileSDK = 33的项目会导致两个依赖问题
使用 API SDK 34 目前是不可能的,因为没有公开版本的 android gradle 插件支持它,其次 API 34 仍处于测试阶段。
由于我不在任何地方直接使用 emoji2 依赖项,因此可以使用类似于以下内容的 build.gradle.kts 来修复此问题。
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}
android {
namespace = "com.example.myapplication"
compileSdk = 33
defaultConfig {
configurations.all {
resolutionStrategy {
force("androidx.emoji2:emoji2-views-helper:1.3.0")
force("androidx.emoji2:emoji2:1.3.0")
}
}
applicationId = "com.example.myapplication"
minSdk = 24
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.1"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}
dependencies {
implementation("androidx.core:core-ktx:1.10.1")
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1")
implementation("androidx.activity:activity-compose:1.7.2")
implementation(platform("androidx.compose:compose-bom:2023.08.00"))
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3:1.1.1")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
androidTestImplementation(platform("androidx.compose:compose-bom:2023.08.00"))
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
debugImplementation("androidx.compose.ui:ui-tooling")
debugImplementation("androidx.compose.ui:ui-test-manifest:1.5.0")
}
Run Code Online (Sandbox Code Playgroud)
这是解决此问题的最佳方法吗?这是否是一个依赖项错误,因为所有依赖项都标记为稳定,但其中一个依赖项依赖于 beta SDK。顺便说一句,emoji2 依赖项被标记为需要 14 的 minSdkVersion,而不是 34。
当我创建这个问题时,其他人在 google tracker 上创建了以下问题,我在 Kotlin 插件版本 1.8.20 中也遇到了这个问题。
Chi*_*mar 10
对于某些较新的库版本,您必须使用最新的 CompileSDK 版本。将以下代码添加build.gradle(app-level)到defaultConfig.
android {
defaultConfig {
...
compileSdkPreview = "UpsideDownCake"
...
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
5456 次 |
| 最近记录: |