Мы обновили плагин Android Gradle с 3.4.2 до 3.5.0 (и Gradle с 5.1.1 до 5.4.1).
После этого сборка начала давать сбой в нескольких подмодулях. Попытка assemble
любого варианта сборки дает следующее (та же ошибка в командной строке и в Android Studio):
> Failed to transform artifact 'bottom-navigation.aar (project :bottom-navigation)' to match attributes {artifactType=jar}.
> Execution failed for JetifyTransform: <project_root>/bottom-navigation/build/outputs/aar/bottom-navigation-release.aar.
> Failed to transform '<project_root>/bottom-navigation/build/outputs/aar/bottom-navigation-release.aar' using Jetifier.
Reason: Cannot open a library at 'FileMapping(from=<project_root>/bottom-navigation/build/outputs/aar/bottom-navigation-release.aar, to=<project_root>/bottom-navigation/build/.transforms/9b2af95a5f0e0055110660c22ff05ab5/jetified-bottom-navigation-release.aar)'. (Run with --stacktrace for more details.)
Любые идеи, как это исправить?
Что я пробовал
- "Недействительные кеши" в AS, а также очистка всех кешей Gradle в
~/.gradle/caches
, как предлагается в этом ответе - All the advice in this somewhat similar question
- I checked that the problematic modules use
apply plugin: 'com.android.library'
(instead ofcom.android.application
) - Я попытался обновить зависимость appcompat до
androidx.appcompat:appcompat:1.1.0
в затронутых модулях, а также удалить эту зависимость
- I checked that the problematic modules use
Обновлять
Похоже, что что-то не так в плагине Gradle 3.5.0; сборки ведут себя беспорядочно для меня локально и на нашей машине CI.
Например, чистые сборки не работают: ./gradlew clean assembleBetaRelease
не работает, а ./gradlew assembleBetaRelease
работает!
Кроме того, иногда я получаю AAPT: error: attribute ... not found
вместо указанной выше ошибки Failed to transform artifact
.
Вернувшись к плагину Gradle 3.4.2, все эти проблемы исчезнут.
Редактировать, октябрь 2019 г.: странное поведение по-прежнему наблюдается с подключаемым модулем Gradle 3.5.1. Изменить ноябрь 2019 г. И 3.5.2. Обновление до Gradle 5.6 тоже не помогло.
android.useAndroidX=true
&android.enableJetifier=true
в файле gradle.properties? - person Jeel Vankhede   schedule 12.09.2019