Не удалось преобразовать файл "some-lib-release.aar" для соответствия атрибутам {artifactType = обработанный-aar} с помощью преобразования JetifyTransform - программирование

Не удалось преобразовать файл "some-lib-release.aar" для соответствия атрибутам {artifactType = обработанный-aar} с помощью преобразования JetifyTransform

У меня есть проект с двумя модулями: приложение (Java) со строками типа debug, release и enterprise и библиотека Kotlin (release и debug), используемые приложением.

Я использую AndroidX и имею следующее в моем gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

Если я запускаю проект через Gradle, я получаю кучу ошибок компиляции (ожидается). Но если я попытаюсь использовать его из Android Studio (3.2 Beta 5), особенно при попытке синхронизации с моделью Gradle, я получаю следующее:

Unable to resolve dependency for ':[email protected]/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':[email protected]/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':[email protected]/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':[email protected]/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':[email protected]/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':[email protected]/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':[email protected]/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform

Мои settings.gradle:

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

Библиотечный модуль в конечном итоге станет его собственной библиотекой, используемой этим приложением, и другими, но пока я работаю над этим, я создаю его как часть приложения. Все отлично работало, пока я не переключился на AndroidX.

Модуль app объявляет зависимость как:

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

Если я откажусь от configuration: 'default' бит configuration: 'default' при объявлении зависимости, я получаю:

Unable to resolve dependency for ':[email protected]/compileClasspath': Could not resolve project :some-lib.
Unable to resolve dependency for ':[email protected]/compileClasspath': Could not resolve project :some-lib.

Любые идеи о том, что я делаю неправильно здесь?

4b9b3361

Ответ 1

Я могу поклясться, что уже пробовал это, но указание набора matchingFallbacks для типов сборки сделало свое дело:

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

Больше здесь

Ответ 2

Попробуй это:

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

Ответ 3

Кажется, ошибка вызвана поврежденными файлами Jetific.

Удалите ТОЛЬКО поврежденный файл .aar из папки кэшей Gradle:

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

"Путь к", вероятно, будет именем пакета, например, com.example.somerelease

Удаление всей папки не является оптимальным решением, так как все зависимости нужно будет снова исправить. Если у вас уже есть проблемы с коррупцией, вы, вероятно, столкнетесь с этой проблемой снова.