Obtuve la siguiente prueba de error en Android 5.0 (API 21). Probado en otras versiones del sistema operativo funciona bien.
java.lang.RuntimeException: no se puede iniciar la actividad ComponentInfo {... ui.activities.navigationActivity.fragments.legalFragment.LegalDetailActivity}: android.view.InflateException: línea de archivo XML binario # 24: Error al inflar la clase android.webkit.WebView
No puedo encontrar nada especial sobre el diseño xml, en la línea 24:
<WebView
android:id="@+id/nav_fg_legal_detail_web"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
El código:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setTheme(R.style.AppTheme_NoActionBar)
setContentView(R.layout.legal_detail_activity) // crash here. Nothing done to web view yet.
Estoy usando la biblioteca 'androidx.appcompat: appcompat: 1.1.0'.
Actualización : la pila completa:
--------- beginning of crash
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.byte_artisan.mchat2, PID: 4198
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.byte_artisan.mchat2/com.byte_artisan.mchat2.ui.activities.navigationActivity.fragments.legalFragment.LegalDetailActivity}: android.view.InflateException: Binary XML file line #24: Error inflating class android.webkit.WebView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: android.view.InflateException: Binary XML file line #23: Error inflating class android.webkit.WebView
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.byte_artisan.mchat2.ui.activities.navigationActivity.fragments.legalFragment.LegalDetailActivity.onCreate(LegalDetailActivity.kt:18)
at android.app.Activity.performCreate(Activity.java:5937)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:607)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.byte_artisan.mchat2.ui.activities.navigationActivity.fragments.legalFragment.LegalDetailActivity.onCreate(LegalDetailActivity.kt:18)
at android.app.Activity.performCreate(Activity.java:5937)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2040002
at android.content.res.Resources.getText(Resources.java:274)
at android.content.res.Resources.getString(Resources.java:360)
at com.android.org.chromium.content.browser.ContentViewCore.setContainerView(ContentViewCore.java:702)
at com.android.org.chromium.content.browser.ContentViewCore.initialize(ContentViewCore.java:608)
at com.android.org.chromium.android_webview.AwContents.createAndInitializeContentViewCore(AwContents.java:619)
at com.android.org.chromium.android_webview.AwContents.setNewAwContents(AwContents.java:758)
at com.android.org.chromium.android_webview.AwContents.<init>(AwContents.java:608)
at com.android.org.chromium.android_webview.AwContents.<init>(AwContents.java:546)
at com.android.webview.chromium.WebViewChromium.initForReal(WebViewChromium.java:312)
at com.android.webview.chromium.WebViewChromium.access$100(WebViewChromium.java:97)
at com.android.webview.chromium.WebViewChromium$1.run(WebViewChromium.java:264)
at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.drainQueue(WebViewChromium.java:124)
at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue$1.run(WebViewChromium.java:111)
at com.android.org.chromium.base.ThreadUtils.runOnUiThread(ThreadUtils.java:144)
at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.addTask(WebViewChromium.java:108)
at com.android.webview.chro
android
webview
android-appcompat
androidx
MiguelSlv
fuente
fuente
WebView
.Respuestas:
Recientemente me enfrenté a lo mismo, hay un problema que se menciona aquí , que aún no se ha resuelto. El bloqueo solo ocurre en API 21.
Hay pocas soluciones que mencionen la degradación de las
androidx.appcompat:appcompat
versiones. Esta respuesta me ayudó. Además, hay otras posibles soluciones mencionadas, elija la respuesta que se aplique a usted.EDITAR: El bloqueo también se produce en las API 22 y 23 si el usuario no tiene instalado Google Play.
EDITAR 2: como se menciona en el rastreador de problemas aquí , y actualizar la
androidx.appcompat:appcompat
versión a 1.2.0-alpha02 proporciona la solución en algunos casos. Siga una discusión detallada para encontrar una solución alternativa adecuada.Como mencionó @MiguelSlv, agregar este repositorio Maven es una solución temporal. Sin embargo, todas las soluciones anteriores tienen efectos secundarios. Como el error aún no se ha solucionado, no es una solución limpia.
fuente
Caused by: android.content.res.Resources$NotFoundException: String resource ID
compruebe amablemente con la solución provista, supongo que ayudaríaEsta respuesta que escribo en marzo de 2020 podría modificarse después de eso.
En mi caso, en build.gradle, nivel de aplicación, cambié
implementation 'androidx.appcompat:appcompat:1.0.0'
aimplementation 'androidx.appcompat:appcompat:1.2.0-alpha02'
y el problema está resuelto.Otra configuración que ya tengo pero no la cambié: - 1-en el nivel de proyecto Gradle que he
classpath 'com.android.tools.build:gradle:3.5.3'
2- y en Gradle-wrapper.properties he
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
3- y en el nivel de aplicación Gradle, he notado
android { compileSdkVersion 29 buildToolsVersion '29.0.2'
que esta solución se prueba en un dispositivo real con la versión 5 de Androidfuente
El 24 de abril de 2020, lo resolví con esto:
La versión anterior y que no funciona es la siguiente:
@canerkaseler
fuente
Tengo más de diez aplicaciones, todas mis aplicaciones tienen "problemas de inflado". Estaba tratando de resolver problemas ... Y lo he probado con emuladores y dispositivos reales, no tienen bloqueo ... ¡Pero mi usuario así! Finalmente, mientras probaba con el emulador, cogí el bloqueo. Aquí está el resultado: esta respuesta se escribió el 19 de abril de 2020:
las versiones anteriores tienen problemas graves ... La creación de diálogos, causa problemas de inflado de Edittext o TextView ...
Las versiones a continuación se han probado un poco pero no hubo bloqueo
Aún probando estas versiones, compartiremos resultados
fuente