Eu atualizei meu android studio to 3.4 canary
e agora não consigo mais construir com sucesso devido ao seguinte erro:
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.
Mais detalhes:
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, é algo a ver com Butterknife, androidx and Jetifier
Alguém sabe como consertar isso?
Respostas:
Nova resposta correta:
Butterknife 10.0.0 adicionou suporte para AndroidX.
Resposta antiga para Butterknife <10.0.0:
Tente colocar o butterknife na lista negra do jetificador:
Você precisa estar no 3.3.0-rc1 do AGP e na versão 1.3.0 do plug-in Kotlin Gradle:
fonte
Adicione a última versão da dependência butterknive. Você pode verificar aqui se ela mudar ( https://github.com/JakeWharton/butterknife ). Suporta androidX. Em seguida, vá para o graddle de compilação do seu aplicativo e substitua a versão anterior pela seguinte:
fonte
Para androidx, basta atualizar suas dependências para a versão '10 .0.0 '
Procure a documentação aqui
fonte
Atualize ButterKnife para a versão mais recente e certifique-se de adicioná-los ao seu build.gradle (app):
fonte
Qual versão do Butterknife você usa? A última versão 9.0.0-rc2 suporta androidx.
UPD: há um problema fechado no repositório github do butterknife . Solução temporária
Adicione android.jetifier.blacklist = butterknife-compiler ao arquivo gradle.properties.
fonte
Usar a versão mais recente do Butterknife resolveu o problema. Use> = 9.0.0-rc2 (versão Butterknife) para oferecer suporte ao androidX. Para a versão mais recente, verifique o link - https://github.com/JakeWharton/butterknife/releases
fonte
Meu projeto não usa butterknife, mas eu tive o mesmo erro "O artefato fornecido contém uma string literal com uma referência de pacote 'android.support.v4.widget' que não pode ser reescrita com segurança. Bibliotecas que usam reflexão, como processadores de anotação, precisam ser atualizado manualmente para adicionar suporte para androidx "Foi o que fiz para resolver: atualize a versão do seu parceler
arquivo de compilação do gradle
Substituir:
Com:
fonte
mudança
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
para
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
ou outros Temas Materiais. Recebi este erro depois de iniciar um novo projeto com "Sem atividade" no Android Studio 4.0.1
fonte
atualizar butterknife + invalidar cache e reiniciar + sincronizar gradle se buterknife não for usado apenas limpar o cache e reiniciar
fonte