英文:
Error adding `androidResources` no compress option to Android Library Gradle
问题
我正在尝试将以下选项添加到我的 gradle.kts 文件中,用于 Android 库项目:
android {
androidResources {
noCompress += "tflite"
}
}
但不知何故,每当我尝试同步项目时,我会收到以下错误信息:
> * 出现了什么问题:
class com.android.build.gradle.internal.dsl.AaptOptions$AgpDecorated_Decorated 无法转换为 com.android.build.api.dsl.LibraryAndroidResources(com.android.build.gradle.internal.dsl.AaptOptions$AgpDecorated_Decorated 和 com.android.build.api.dsl.LibraryAndroidResources 在 org.gradle.internal.classloader.VisitableURLClassLoader @481a697b 的未命名模块中)。
有人知道如何解决这个问题吗?互联网上似乎没有相关信息。
像这样使用已弃用的旧版本不会产生任何错误:
```kotlin
aaptOptions {
noCompress += "tflite"
}
我正在使用 Android Gradle 插件 8.1.0-beta05,Gradle Wrapper 版本 8.0,但在 AGP 8.1.0-beta04 版本上也出现了相同的问题。
这是 gradle.kts 文件的内容:
@Suppress("DSL_SCOPE_VIOLATION") // TODO: 移除一旦 KTIJ-19369 问题得到解决
plugins {
alias(libs.plugins.com.android.library)
alias(libs.plugins.org.jetbrains.kotlin.android)
}
android {
namespace = "com.example.mylibrary"
compileSdk = 33
defaultConfig {
minSdk = 26
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
freeCompilerArgs = listOf("-Xcontext-receivers", "-Xexplicit-api=warning")
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.4.3"
}
packaging {
resources.excludes.add("META-INF/notice.txt")
}
androidResources {
noCompress += "tflite"
}
}
希望这可以帮助你解决问题。
英文:
I am trying to add the following option to my gradle.kts file for an Android Library
android{
androidResources {
noCompress += "tflite"
}
}
But for some reason, whenever i try to Sync the project, I get this error
> * What went wrong:
class com.android.build.gradle.internal.dsl.AaptOptions$AgpDecorated_Decorated cannot be cast to class com.android.build.api.dsl.LibraryAndroidResources (com.android.build.gradle.internal.dsl.AaptOptions$AgpDecorated_Decorated and com.android.build.api.dsl.LibraryAndroidResources are in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader @481a697b)
Anyone have any ideea how can i fix this? Internet seems to be of no use here.
Using the deprecated, older, version like this does not produce any error
aaptOptions{
noCompress += "tflite"
}
I am using Android Gradle Plugin 8.1.0-beta05, with gradle wrapper 8.0, but behaved the same with AGP 8.1.0-beta04
This is the gradle.kts file:
@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed
plugins {
alias(libs.plugins.com.android.library)
alias(libs.plugins.org.jetbrains.kotlin.android)
}
android {
namespace = "com.example.mylibrary"
compileSdk = 33
defaultConfig {
minSdk = 26
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
freeCompilerArgs = listOf("-Xcontext-receivers", "-Xexplicit-api=warning")
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.4.3"
}
packaging {
resources.excludes.add("META-INF/notice.txt")
}
androidResources {
noCompress += "tflite"
}
}
答案1
得分: 2
我遇到了同样的问题并报告了它。似乎在新版本中已修复。
https://issuetracker.google.com/issues/294771624
修复已合并到8.1.2、8.2.0-beta03和8.3.0-alpha02中。
感谢您在我们的工程团队努力解决此问题期间的耐心等待。此问题的修复现在在以下版本中可用:
Android Studio Hedgehog | 2023.1.1 Beta 3。
Android Gradle Plugin 8.2.0-beta03。
英文:
I had the same problem and reported it. It seems to be fixed in the new version.
https://issuetracker.google.com/issues/294771624
> Fix is merged for 8.1.2, 8.2.0-beta03 and 8.3.0-alpha02
> Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
Android Studio Hedgehog | 2023.1.1 Beta 3.
Android Gradle Plugin 8.2.0-beta03
答案2
得分: 1
It worked with me
aaptOptions {
noCompress += "tflite"
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
}
<details>
<summary>英文:</summary>
It worked with me
aaptOptions {
noCompress += "tflite"
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!.scc:.:!CVS:!thumbs.db:!picasa.ini:!*~"
}
答案3
得分: 0
尝试最新更新和此问题的修复已提供:
-
Android Studio Hedgehog | 2023.1.1 Beta 3
-
Android Gradle Plugin 8.2.0-beta03
因此,请使用最新的更新。
英文:
Try the latest update and A fix for this issue is available in:
-
Android Studio Hedgehog | 2023.1.1 Beta 3
-
Android Gradle Plugin 8.2.0-beta03
So use latest updates
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论