Ошибка Gradle: не удалось преобразовать файл в соответствии с установленными атрибутами - PullRequest
5 голосов
/ 26 мая 2020

Я настроил конвейер, который запускает мои тесты в microsoft azure конвейеры . На моем локальном компьютере это работает нормально, и файл jetified-libidpmobile-debug.jar находится в системном каталоге gradle на моем компьютере:

/Users/jimclermonts/.gradle/caches/transforms-2/files-2.1/efad9765ab457848824459e0c76abddc/jetified-libidpmobile-debug.jar

это мой build.gradle:

debugImplementation files('libs/libidpmobile-debug.jar')

From насколько я понимаю, jetified-libidpmobile-debug.jar автоматически создается jetifier из файла libidpmobile-debug.jar.

Вывод:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:kaptDebugKotlin'.
> Could not resolve all files for configuration ':app:_classStructurekaptDebugKotlin'.
   > Failed to transform file 'jetified-libidpmobile-debug.jar' to match attributes {artifactType=class-structure, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}
      > Execution failed for StructureArtifactTransform: /Users/iosadmin/.gradle/caches/transforms-2/files-2.1/1e14bb7ec832a0c2c967e6c977ddd9b9/jetified-libidpmobile-debug.jar.
         > error in opening zip file

Вот часть моего azure -pipelines.yml, который собирает отладку и тестирует модульные тесты:

trigger:
- master

pool:
  name: Mobile-Pool

steps:
- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx4096m'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'assembleDebug testDebugUnitTest'

Я пробовал решения в этом посте , этом посте и этот пост безрезультатно. Файл jar имеет размер 4 МБ и является единственным файлом, который находится в репозитории кода, а не в каком-то репозитории maven.

Обновлен Gradle до последней версии: это:

tools:replace="android:appComponentFactory"
android:appComponentFactory="androidx.core.app.CoreComponentFactory">

build.gradle:

kotlinOptions {
    jvmTarget = '1.8'
}

compileOptions {
    targetCompatibility JavaVersion.VERSION_1_8
    sourceCompatibility JavaVersion.VERSION_1_8
}

Ответы [ 2 ]

0 голосов
/ 09 июля 2020

Я использовал jetifier-standalone для проверки файлов. Добавил его в gradle.properties:

android.jetifier.blacklist = libidpmobile

, и теперь он работает.

0 голосов
/ 27 мая 2020

Похоже, проблема с привязкой данных из-за ошибки The following options were not recognized by any processor: '[android.databinding.minApi....

Вы можете попробовать добавить строку ниже в файл build.gradle.

kapt "com.android.databinding:compiler:$gradle_version"

Вы можете см. ниже похожие темы для получения дополнительной информации:

Android Ошибка сборки привязки данных после обновления плагина Gradle с переходом на annotationProcessor

Ошибка создания проекта, если android привязка данных включена

Надеюсь, что это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...