Данный артефакт содержит строковый литерал со ссылкой на пакет 'android.support.v4.content', который нельзя переписать безопасно.для андроид - PullRequest
0 голосов
/ 26 ноября 2018

Я обновил свой android studio to 3.4 canary и теперь я не могу больше строить из-за следующей ошибки:

The given artifact contains a string literal with a package reference 'android.support.v4.content' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.

Подробнее:

Caused by: java.lang.RuntimeException: Failed to transform '.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife-compiler/9.0.0-SNAPSHOT/732f93940c74cf32a7c5ddcc5ef66e53be052352/butterknife-compiler-9.0.0-SNAPSHOT.jar' using Jetifier. Reason: The given artifact contains a string literal with a package reference 'android.support.v4.content' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.. (Run with --stacktrace for more details.)

Понятно, что это как-то связано сButterknife, androidx and Jetifier

Кто-нибудь знает, как это исправить?

Ответы [ 6 ]

0 голосов
/ 18 мая 2019

Для androidx просто обновите свои зависимости до версии '10 .0.0 '

dependencies {
implementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
}

Ищите документацию здесь

0 голосов
/ 15 мая 2019

Обновите ButterKnife до последней версии и обязательно добавьте их в свой build.gradle (приложение):

android {
...
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
}
0 голосов
/ 27 февраля 2019

Использование последней версии Butterknife решило проблему.Используйте> = 9.0.0-rc2 (версия Butterknife) для поддержки AndroidX.Для получения последней версии проверьте ссылку - https://github.com/JakeWharton/butterknife/releases

0 голосов
/ 24 января 2019

Добавьте последнюю версию зависимости butterknive, которую вы можете проверить здесь, если она изменится (https://github.com/JakeWharton/butterknife). Он поддерживает androidX. Затем перейдите к программе сборки вашего приложения и замените старую версию следующим:

dependencies {
implementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
}
0 голосов
/ 26 ноября 2018

Попробуйте добавить в черный список масленый нож от джетайтера:

gradle.properties file:

android.jetifier.blacklist = butterknife.*\\.jar

Вы должны быть на 3.3.0-rc1 AGP и версии 1.3.0 плагина Kotlin Gradle:

buildscript {
    repositories {
        ...
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0-rc01'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.0"
        classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-rc2'
    }
}
0 голосов
/ 26 ноября 2018

Какую версию, если Butterknife вы используете?Последняя версия 9.0.0-rc2 поддерживает androidx.

UPD: закрыт вопрос о github repo Butterknife. Временное решение

Добавьте android.jetifier.blacklist = butterknife-compiler в ваш файл gradle.properties.

...