Не удалось преобразовать файл "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.
Любые идеи о том, что я делаю неправильно здесь?
Ответы
Ответ 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
Удаление всей папки не является оптимальным решением, так как все зависимости нужно будет снова исправить. Если у вас уже есть проблемы с коррупцией, вы, вероятно, столкнетесь с этой проблемой снова.