Acabei de fazer uma migração para o androidx por meio da opção de menu Refactor do Android Studio -> Refactor para AndroidX
Estou recebendo o seguinte erro:
android.view.InflateException: Arquivo XML binário linha # 2: Arquivo XML binário linha # 2: Erro inflating class androidx.constraintlayout.ConstraintLayout
Qualquer ideia?
Stacktrace:
2018-10-19 00:25:58.128 28131-28131/com.midounoo.midounoo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.midounoo.midounoo, PID: 28131
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.midounoo.midounoo/com.midounoo.midounoo.Base.MainActivity}: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6255)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)
Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.constraintlayout.ConstraintLayout" on path: DexPathList[[zip file "/data/app/com.midounoo.midounoo-2/base.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.midounoo.midounoo-2/lib/arm64, /system/lib64, /vendor/lib64, /system/vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.view.LayoutInflater.createView(LayoutInflater.java:609)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.midounoo.midounoo.Base.MainActivity.onCreate(MainActivity.java:43)
at android.app.Activity.performCreate(Activity.java:6666)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6255)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
Respostas:
Eu resolvo meu problema mudando todas as ocorrências de
para
fonte
Adicione
androidx.constraintlayout.widget.ConstraintLayout
às dependências:dependencies { // https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout implementation "androidx.constraintlayout:constraintlayout:1.1.3" }
Está disponível em
mavenCentral()
.fonte
constraintlayout
não começa em maiúsculasC
. Correto:'androidx.constraintlayout:constraintlayout:1.1.3'
Eu tive o mesmo problema, resolvi da seguinte maneira:
Em suas dependências, se você adicionou
implementation 'androidx.constraintlayout:constraintlayout:1.x.x'
está corretomas em seu arquivo de layout xml, você deve usar o widget como
androidx.constraintlayout.widget.ConstraintLayout
fonte
Se depois de adicionar mavenCentral () como um repositório em seu arquivo Gradle e mudar
androidx.constraintlayout.ConstraintLayout
paraandroidx.constraintlayout.widget.ConstraintLayout
não resolver o problema, tente Invalidar cache e reinicie a partir do menu de arquivo. Funcionou para mimfonte
build.gradle => verificar a versão das dependências
implementation 'androidx.constraintlayout:constraintlayout:1.1.1'
mudar
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
resolveu o problema
fonte
certifique-se de que seu projeto migre para o androidx completamente. No meu caso, encontrei:
<android.support.constraint.ConstraintLayout
ao invés de
<androidx.constraintlayout.widget.ConstraintLayout
Então mude e meu problema será resolvido!
fonte
Eu tenho o mesmo problema depois de:
Eu também uso:
implementation "uk.co.chrisjenx:calligraphy:2.3.0"
Tentei todos os posts desta questão, mas nenhum sucesso.
Eu corrijo isso adicionando uma string
.disableCustomViewInflation()
ao Caligraphy init:@Override public void onCreate() { super.onCreate(); // ... CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("fonts/Sans-Regular.ttf") .setFontAttrId(R.attr.fontPath) .disableCustomViewInflation() // <----- this fix .build()); // ... }
Espero que o próximo lançamento do Calligraphy (Christopher Jenkins, obrigado pelo seu excelente trabalho) conserte isso por dentro também.
fonte
Após clicar em
Refactor -> Migrate to AndroidX
, certifique-se de que todas as suas dependências no build.gradle (Módulo: app) estejam marcadas para a versão mais recente.Caso contrário, a dependência aparecerá destacada em amarelo e você pode alterá-la passando o mouse sobre ela.
Em segundo lugar, altere a tag ConstraintLayout em todos os arquivos de layout XML para
Para uma opção mais segura, limpe seu projeto e sincronize-o novamente após as etapas acima.
fonte
Certifique-se de ter adicionado a dependência para o layout de restrição
dependencies { implementation "androidx.constraintlayout:constraintlayout:1.1.3" }
e fizeram as alterações em
<androidx.constraintlayout.widget.ConstraintLayout instead of <android.support.constraint.ConstraintLayout
fonte
Copiei e colei uma tag ConstraintLayout existente do xml, que estava causando o problema para mim. Simplesmente excluir e adicionar novamente as tags ConstraintLayout no AndroidStudio do zero resolveu o problema para mim.
fonte
Certifique-se de mudar para
<androidx.constraintlayout.widget.ConstraintLayout
ao invés de
<android.support.constraint.ConstraintLayout
e
<androidx.constraintlayout.widget.Barrier
ao invés de
<android.support.constraint.Barrier
fonte
Tive esse problema com o Android Studio 4.0. Usei o Android Studio 4.0 por alguns dias sem problemas. Aparentemente, do nada, a visão do designer parou de funcionar. Só consegui consertar isso desinstalando o Android Studio e instalando a versão mais recente do Android Studio.
fonte
sim. mavenCentral () e dependências corretas resolvem meus mesmos problemas
fonte
Eu tive um erro semelhante.
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.MainActivity}: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2757) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2818) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6393) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:430) at android.view.LayoutInflater.createView(LayoutInflater.java:652) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:812) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:752) at android.view.LayoutInflater.inflate(LayoutInflater.java:499) at android.view.LayoutInflater.inflate(LayoutInflater.java:430) at android.view.LayoutInflater.inflate(LayoutInflater.java:377) at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469) at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at com.myapp.MainActivity.onCreate(MainActivity.java:23) at android.app.Activity.performCreate(Activity.java:6858) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2710) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2818) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6393) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/constraintlayout/widget/R$styleable; at androidx.constraintlayout.widget.ConstraintLayout.init(ConstraintLayout.java:590) at androidx.constraintlayout.widget.ConstraintLayout.<init>(ConstraintLayout.java:567) ... 23 more Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.constraintlayout.widget.R$styleable" on path: DexPathList[[zip file "/data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-1/lib/arm64, /system/lib64, /vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) ... 25
Seguindo as recomendações:
add androidx.constraintlayout.ConstraintLayout to the dependencies: dependencies { implementation "androidx.constraintlayout:constraintlayout:1.1.3" }
E o repositório mavenCentral ().
Funciona para mim. Eu poderia compilar o APK.
fonte
Atualizei a dependência, mas não resolveu o erro. Então fiz um projeto e uma compilação limpos e está funcionando agora.
fonte
Quero dizer, encontrar mapeamento e usá-lo em todo o projeto.
fonte
mude sua dependência de layout de restrição para a implementação 'androidx.constraintlayout: constraintlayout: 2.0.2'
fonte