Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform

眉间皱痕 提交于 2019-11-29 05:55:39

问题


I have a project with 2 modules: an app (Java) with build types debug, release, and enterprise and a Kotlin library (release and debug) used by the app.

I'm using AndroidX and have the following in my gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

If I run the project through Gradle, I get a bunch of compile errors (expected). But if I try to use it from within Android Studio (3.2 Beta 5), specifically when trying to sync with the Gradle model, I get this:

Unable to resolve dependency for ':app@debug/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@release/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@releaseUnitTest/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@enterprise/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@enterpriseUnitTest/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform

My settings.gradle:

include ':app',':some-lib'
project(':some-lib').projectDir = file ('../some-lib/lib')

The library module will eventually be its own library used by this app and others, but while I'm working on it I build it as a part of the app. Things were working fine until I switched to AndroidX.

The app module declares the dependency as:

implementation project(path: ':some-lib', configuration: 'default')

If I leave out the configuration: 'default' bit when declaring the dependency, I get:

Unable to resolve dependency for ':app@enterprise/compileClasspath': Could not resolve project :some-lib.
Unable to resolve dependency for ':app@enterpriseUnitTest/compileClasspath': Could not resolve project :some-lib.

Any ideas on what I'm doing wrong here?


回答1:


I could swear I had already tried this, but specifying a set of matchingFallbacks for the build types did the trick:

buildTypes {
    release {
        // blah blah
        matchingFallbacks = ['release']
    }
    enterprise {
        // blah blah
        matchingFallbacks = ['release']
    }
    debug {
        // blah blah
        matchingFallbacks = ['debug']
    }
}

More here




回答2:


The error seems to be caused by corrupt Jetified files.

Delete ONLY the corrupted .aar from the Gradle caches folder:

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

The "path-to" will be probably be the package name e.g., com.example.somerelease

Deleting the entire folder is not an optimal solution as all the dependencies will need to be Jetified again. If you're already having corruption issues, you're likely to encounter the issue again.




回答3:


Try this:

implementation fileTree(include:[':some-lib'], dir: "../lib/path")



回答4:


I got the solution.. Just enter the following lines into build.gradle(app)

compileOptions {
        sourceCompatibility '1.8'
        targetCompatibility '1.8'
    }



回答5:


This solved it for me

File -> Invalidate Caches / Restart

Hope it helps someone



来源:https://stackoverflow.com/questions/51795731/failed-to-transform-file-some-lib-release-aar-to-match-attributes-artifacttyp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!