Actualicé mi android studio to 3.4 canary
y ahora ya no puedo construir con éxito debido al siguiente error:
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.
Más detalles:
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.)
Claramente, tiene algo que ver con Butterknife, androidx and Jetifier
¿Alguien sabe cómo solucionar esto?
Respuestas:
Nueva respuesta correcta:
Butterknife 10.0.0 agregó soporte para AndroidX.
Respuesta anterior para Butterknife <10.0.0:
Intente poner el cuchillo de mantequilla en la lista negra del jetifier:
Debe estar en 3.3.0-rc1 de AGP y en la versión 1.3.0 del complemento Kotlin Gradle:
fuente
Agregue la última versión de la dependencia de la navaja de mantequilla; puede verificarla aquí si cambia ( https://github.com/JakeWharton/butterknife ). Es compatible con androidX. Luego, vaya al graddle de compilación de su aplicación y reemplace la versión anterior con lo siguiente:
fuente
Para androidx, simplemente actualice sus dependencias a la versión '10 .0.0 '
Busque documentación aquí
fuente
Actualice ButterKnife a la última versión y asegúrese de agregarlos a su build.gradle (aplicación):
fuente
¿Qué versión de Butterknife usas? La última versión 9.0.0-rc2 es compatible con androidx.
UPD: Hay un problema cerrado en el repositorio de github de butterknife . Solución temporal
Agrega android.jetifier.blacklist = butterknife-compiler a tu archivo gradle.properties.
fuente
El uso de la última versión de Butterknife resolvió el problema. Utilice> = 9.0.0-rc2 (versión Butterknife) para admitir androidX. Para obtener la última versión, consulte el enlace: https://github.com/JakeWharton/butterknife/releases
fuente
Mi proyecto no usa butterknife, pero tuve el mismo error "El artefacto dado contiene un literal de cadena con una referencia de paquete 'android.support.v4.widget' que no se puede reescribir de manera segura. Las bibliotecas que usan la reflexión, como los procesadores de anotaciones, deben actualizarse manualmente para agregar soporte para androidx "Esto es lo que hice para resolverlo: actualice la versión de su paquete
archivo de compilación gradle
Reemplazar:
Con:
fuente
Cambio
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
a
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
u otros temas materiales. Recibí este error después de iniciar un nuevo proyecto con "Sin actividad" en Android Studio 4.0.1
fuente
actualizar butterknife + invalidar el caché y reiniciar + sincronizar gradle si no se usa buterknife, simplemente borre el caché y reinicie
fuente