无法使用AarTransform将文件'45907c80e09917e1b776adf038505958'转换为匹配属性{artifactType=jar}的文件。

11

我正在使用Android 3.0 canary 4制作一个应用程序。一切都正常工作,直到昨天,但今天当我打开项目时,它给了我一个错误。

 F:\test projects\SellIT\app\build.gradle
Error:Failed to resolve: Failed to transform file '45907c80e09917e1b776adf038505958' to match attributes {artifactType=jar} using transform AarTransform
<a href="openFile:F:/test projects/SellIT/app/build.gradle">Open File</a>

Error:Failed to resolve: Failed to transform file '0424053f6b3433893454e7542cca3a9d' to match attributes {artifactType=jar} using transform AarTransform
<a href="openFile:F:/test projects/SellIT/app/build.gradle">Open File</a>

Error:Failed to resolve: Failed to transform file 'customtabs-25.0.0.aar' to match attributes {artifactType=android-exploded-aar} using transform ExtractAarTransform
<a href="openFile:F:/test projects/SellIT/app/build.gradle">Open File</a>

Error:Failed to resolve: Failed to transform file 'recyclerview-v7-25.4.0.aar' to match attributes {artifactType=android-exploded-aar} using transform ExtractAarTransform
<a href="openFile:F:/test projects/SellIT/app/build.gradle">Open File</a>

Error:Failed to resolve: Failed to transform file 'b7ae5d97f624a2ac68ed171c25f74f21' to match attributes {artifactType=jar} using transform AarTransform
<a href="openFile:F:/test projects/SellIT/app/build.gradle">Open File</a>

Error:Failed to resolve: Failed to transform file 'firebase-analytics-impl-10.2.4.aar' to match attributes {artifactType=android-exploded-aar} using transform ExtractAarTransform
<a href="openFile:F:/test projects/SellIT/app/build.gradle">Open File</a>

Error:Failed to resolve: Failed to transform file '8a727da2aab64813ae6d20842b03d41f' to match attributes {artifactType=jar} using transform AarTransform
<a href="openFile:F:/test projects/SellIT/app/build.gradle">Open File</a>

Error:Failed to resolve: Failed to transform file 'support-compat-25.4.0.aar' to match attributes {artifactType=android-exploded-aar} using transform ExtractAarTransform
<a href="openFile:F:/test projects/SellIT/app/build.gradle">Open File</a>

Error:Failed to resolve: Failed to transform file 'd0da7bf76907aa33e493551504efa952' to match attributes {artifactType=jar} using transform AarTransform
<a href="openFile:F:/test projects/SellIT/app/build.gradle">Open File</a>

这是我的build.gradle(应用级别)

    apply plugin: 'com.android.application'


android {
    compileSdkVersion 25
    buildToolsVersion "26.0.0"
    defaultConfig {
        applicationId "android.sellit"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:25.4.0'
    testImplementation 'junit:junit:4.12'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.google.firebase:firebase-auth:10.2.4'

    // Required only if Facebook login support is required
    implementation('com.facebook.android:facebook-android-sdk:4.22.1')
    implementation 'com.google.firebase:firebase-core:10.2.4'
    implementation 'com.google.firebase:firebase-database:10.2.4'
    implementation 'com.google.android.gms:play-services-auth:10.2.4'
    implementation 'com.android.support:design:25.4.0'

    implementation 'com.github.bumptech.glide:glide:4.0.0-RC1'

    implementation 'com.google.firebase:firebase-storage:10.2.4'

    implementation 'de.hdodenhof:circleimageview:2.1.0'
    implementation 'com.google.firebase:firebase-crash:10.2.4'

    implementation 'com.google.firebase:firebase-ads:10.2.4'
}
apply plugin: 'com.google.gms.google-services'

是否有人遇到过类似的错误或者知道我该怎么做?


感谢@Panciz的编辑。 - Anuj B
1
我曾遇到过类似的错误,错误提示为“无法将文件'uninstalltiontracking.jar'转换为属性{artifactType=android-classes}以使用转换JarTransform”,这是在切换到Android Studio 3之后发生的。 - penduDev
哎呀!我注意到 libs 目录中实际上没有 .jar 文件,所以我从模块的 gradle 文件中删除了 implementation...uninstallationtracking.jar 这一行。 - penduDev
你尝试过在“文件”菜单中的“无效缓存并重启”选项吗? - penduDev
你可以尝试使用暴力方法来定位错误。1. 创建一个新的空项目。2.逐行添加gradle代码并在每行添加后进行编译。3. 你会知道哪一行引起了问题。值得一试。此外,Google库最不可能引起问题,所以先尝试其他库。 - penduDev
显示剩余5条评论
5个回答

27

原来这是Gradle本身的一个奇怪的错误。我在Google论坛上发布了此问题,其中一位他们的程序员给了我一个解决方案,并将其作为一个问题与Gradle团队一起发布。

对于解决方案,您可以清除项目缓存(C:\ Users \<username>\.gradle\caches\transforms-1),然后重新构建您的项目,它就会正常工作。 Gradle需要一些用于构建的工件,这些工件存储在缓存中。因此,如果Gradle无法构建,则可以清除缓存以便进行新的下载。只要您所需的所有工件都已在Gradle的缓存中下载(因此请勿在离线时删除缓存文件夹!),您就可以离线使用。


8
你还需要做其他事情吗,@anuj?清理transforms-1文件夹似乎无法解决问题。 - bschandramohan
清除缓存文件夹对我来说很有效。尝试清除缓存文件夹中存在的其他缓存文件。不用担心,您在缓存中删除的任何内容都将在下次打开Android Studio时下载。同时,请确保在启动Android Studio时连接到互联网。 - Anuj B
8
我尝试了所有的方法,但都不起作用。清除缓存文件夹、使缓存无效并重新启动、重新安装Android Studio,都没有帮助。请帮我。 - takmilul
在我的情况下,错误是由于库文件夹的文件路径太长,因此找不到文件。将项目移动到驱动器最外层的文件夹中解决了我的问题。 - Megha Maniar

4
面临相同问题。解决此问题的简单方法是在您的构建变体之间切换。这将刷新缓存副本并解决该问题。

2

这个错误似乎是由损坏的Jetified文件引起的。

只需从Gradle缓存文件夹中删除错误消息中的损坏.jars文件:

最初的回答:

rm ~/.gradle/caches/modules-2/files-2.1/path-to/some-release.aar

"最初的回答"可能是包名,例如com.example.somerelease
通常,我会从错误消息中获取要删除的文件路径,并将其剪切并粘贴到终端中以执行rm命令。
删除整个文件夹不是最佳解决方案,因为所有依赖项都需要再次进行Jetify。如果您已经遇到了损坏问题,那么当Jetify必须重新处理整个文件夹时,您很可能会再次遇到该问题。

1

收到类似错误:

无法将文件'uat-release.jar'转换为匹配属性{artifactType=android-classes}的文件 转换输出文件D:\R\project\uat-release.jar不存在。

在我的情况下,实际文件是 aar,但我错误地在build.gradle(uat-release模块)中放置了.jar

  configurations.maybeCreate("default")
  artifacts.add("default", file('uat-release.jar'))

通过更正文件类型解决了这个问题:

  configurations.maybeCreate("default")
  artifacts.add("default", file('uat-release.aar'))

1
嗨,在build.gradle文件中,我应该把这段代码放在哪个块中? - Siva
当您将aar作为模块添加时,它会在该模块中创建build.gradle文件。请将其放在那里。 - AskQ
没错,这里是例子:在 https://github.com/textileio/notes/commit/8e4f12d7ebbf7a3407affd1c7a7f24a579f19940 中,compile project(':mobile') 在 android/app/build.gradle 中,configurations.maybeCreate("default") 在 android/mobile/build.gradle 中,include ':mobile' 在 android/settings.gradle 中。 - Li Zheng

0
前往目标文件夹: Android\sdk\platforms\android-30\android.jar。 删除其中的内容,重新构建项目并同步即可。 这对我来说有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接