无法转换 moshi-1.13.0.jar(任务失败 biometric_storage:kaptGenerateStubsDebugKotlin)
Failed to transform moshi-1.13.0.jar (failed for task biometric_storage:kaptGenerateStubsDebugKotlin)
我从 Git 中提取了一个团队的项目,该项目是在 Flutter 中制作的,并且出于某种原因在构建应用程序时(按 Android Studio 中的绿色箭头和 运行 main.dart) 我收到以下消息:
What went wrong:
Execution failed for task ':biometric_storage:kaptGenerateStubsDebugKotlin'.
> Could not resolve all files for configuration ':biometric_storage:kapt'.
> Failed to transform moshi-1.13.0.jar (com.squareup.moshi:moshi:1.13.0) to match attributes {artifactType=processed-jar, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.jvm.environment=standard-jvm, org.gradle.jvm.version=8, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
> Execution failed for JetifyTransform: C:\Users\UserName\.gradle\caches\modules-2\files-2.1\com.squareup.moshi\moshi.13.0\da685586facab9eb5c4fb630ce248be14e7da21b\moshi-1.13.0.jar.
> Failed to transform 'C:\Users\UserName\.gradle\caches\modules-2\files-2.1\com.squareup.moshi\moshi.13.0\da685586facab9eb5c4fb630ce248be14e7da21b\moshi-1.13.0.jar' using Jetifier. Reason: Unsupported class file major version 60. (Run with --stacktrace for more details.)
我的build.gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.0'
classpath 'com.google.gms:google-services:4.3.5'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ext.kotlin_version = '1.4.31'
我的gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
其他可能相关的信息
Fluter Android Studio plugin 63.2.1
Dart Android Studio plugin 203.8452
Dart 2.15.1
Flutter 2.8.1
我的团队中没有人收到此消息,所以我怀疑它与某些本地配置差异有关,或者我的某些程序版本不同。此外,我无法更新 Gradle,因为这会导致其他一些问题。
编辑:清除我所有队友的缓存后,出现此错误。
注意:我就是问这个问题的人。以下解决方案是独立的,您可以只尝试其中一个,也可以组合使用。选择一个看起来更简单的,如果可行,就不需要其他的了。
解决方案 1
尝试忽略导致问题的那个 .jar。根据您使用的 Android Gradle 插件版本使用 android.jetifier.blacklist
或 android.jetifier.ignorelist
()(要检查您使用的是哪个版本,请访问您的 build.gradle 并检查 com.android.tools.build:gradle:X.Y.Z
)。如果您在 7.0.0 之前使用任何东西,请使用 android.jetifier.blacklist
,在使用 android.jetifier.ignorelist
.
之后
我使用 3.6.0,所以对我来说 android.jetifier.blacklist
可以,而 android.jetifier.ignorelist
不可以。
解决方案 2
尝试将 gradle 和 android gradle 插件更新到版本 7。我没有尝试这个,我也不能,因为这不是我的个人项目,但如果你可以去争取。为什么我认为升级会有帮助?好吧 this github issue 谈到那个。
解决方案 3
以下解决方案没有任何意义(至少对我来说,如果有人可以解释为什么这可以解决问题,请这样做),但由于某些奇怪的原因它有效。
我添加了一个名为 bye-bye-jetifier 的新库,因为我的想法是我应该关闭 jetifier。在关闭它之前,我必须检查我是否有任何使用过时代码的依赖项(不是 AndroidX 的代码)因此我决定安装 bye-byte-jetifier。安装后我的 build.gradle 看起来像这样。在 运行 以下配置之后问题消失了。
buildscript {
repositories {
google()
jcenter()
mavenCentral() // <--------- I added this
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.0'
classpath 'com.google.gms:google-services:4.3.5'
classpath 'com.dipien:bye-bye-jetifier:1.2.1' // <--------- I added this
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ext.kotlin_version = '1.4.31'
请注意,我什至没有应用该插件(如 bye-bye-jetifier 上的官方指南所说),这使得该解决方案更加混乱。
文件:“gradle.properties”(项目属性)
在下面添加行
android.jetifier.blacklist = com.squareup.moshi
我从 Git 中提取了一个团队的项目,该项目是在 Flutter 中制作的,并且出于某种原因在构建应用程序时(按 Android Studio 中的绿色箭头和 运行 main.dart) 我收到以下消息:
What went wrong:
Execution failed for task ':biometric_storage:kaptGenerateStubsDebugKotlin'.
> Could not resolve all files for configuration ':biometric_storage:kapt'.
> Failed to transform moshi-1.13.0.jar (com.squareup.moshi:moshi:1.13.0) to match attributes {artifactType=processed-jar, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.jvm.environment=standard-jvm, org.gradle.jvm.version=8, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
> Execution failed for JetifyTransform: C:\Users\UserName\.gradle\caches\modules-2\files-2.1\com.squareup.moshi\moshi.13.0\da685586facab9eb5c4fb630ce248be14e7da21b\moshi-1.13.0.jar.
> Failed to transform 'C:\Users\UserName\.gradle\caches\modules-2\files-2.1\com.squareup.moshi\moshi.13.0\da685586facab9eb5c4fb630ce248be14e7da21b\moshi-1.13.0.jar' using Jetifier. Reason: Unsupported class file major version 60. (Run with --stacktrace for more details.)
我的build.gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.0'
classpath 'com.google.gms:google-services:4.3.5'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ext.kotlin_version = '1.4.31'
我的gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
其他可能相关的信息
Fluter Android Studio plugin 63.2.1
Dart Android Studio plugin 203.8452
Dart 2.15.1
Flutter 2.8.1
我的团队中没有人收到此消息,所以我怀疑它与某些本地配置差异有关,或者我的某些程序版本不同。此外,我无法更新 Gradle,因为这会导致其他一些问题。 编辑:清除我所有队友的缓存后,出现此错误。
注意:我就是问这个问题的人。以下解决方案是独立的,您可以只尝试其中一个,也可以组合使用。选择一个看起来更简单的,如果可行,就不需要其他的了。
解决方案 1
尝试忽略导致问题的那个 .jar。根据您使用的 Android Gradle 插件版本使用 android.jetifier.blacklist
或 android.jetifier.ignorelist
(com.android.tools.build:gradle:X.Y.Z
)。如果您在 7.0.0 之前使用任何东西,请使用 android.jetifier.blacklist
,在使用 android.jetifier.ignorelist
.
我使用 3.6.0,所以对我来说 android.jetifier.blacklist
可以,而 android.jetifier.ignorelist
不可以。
解决方案 2
尝试将 gradle 和 android gradle 插件更新到版本 7。我没有尝试这个,我也不能,因为这不是我的个人项目,但如果你可以去争取。为什么我认为升级会有帮助?好吧 this github issue 谈到那个。
解决方案 3
以下解决方案没有任何意义(至少对我来说,如果有人可以解释为什么这可以解决问题,请这样做),但由于某些奇怪的原因它有效。
我添加了一个名为 bye-bye-jetifier 的新库,因为我的想法是我应该关闭 jetifier。在关闭它之前,我必须检查我是否有任何使用过时代码的依赖项(不是 AndroidX 的代码)因此我决定安装 bye-byte-jetifier。安装后我的 build.gradle 看起来像这样。在 运行 以下配置之后问题消失了。
buildscript {
repositories {
google()
jcenter()
mavenCentral() // <--------- I added this
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.0'
classpath 'com.google.gms:google-services:4.3.5'
classpath 'com.dipien:bye-bye-jetifier:1.2.1' // <--------- I added this
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ext.kotlin_version = '1.4.31'
请注意,我什至没有应用该插件(如 bye-bye-jetifier 上的官方指南所说),这使得该解决方案更加混乱。
文件:“gradle.properties”(项目属性) 在下面添加行 android.jetifier.blacklist = com.squareup.moshi