Ich habe den folgenden Fehlertest unter Android 5.0 (API 21) erhalten. Getestet auf anderen Betriebssystemversionen funktioniert gut.
java.lang.RuntimeException: Aktivität ComponentInfo {... ui.activities.navigationActivity.fragments.legalFragment.LegalDetailActivity}: android.view.InflateException: Binäre XML-Dateizeile # 24: Fehler beim Aufblasen der Klasse android.webkit.WebView
Ich kann in Zeile 24 nichts Besonderes über das XML-Layout finden:
<WebView
android:id="@+id/nav_fg_legal_detail_web"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
Der Code:
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.
Ich benutze die Bibliothek 'androidx.appcompat: appcompat: 1.1.0'.
Update : der volle Stapel:
--------- 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
quelle
quelle
WebView
.Antworten:
Kürzlich stand ich das gleiche, es ist ein Problem , das über die Rede ist hier , die noch nicht gelöst ist. Der Absturz tritt nur bei API 21 auf.
Es gibt nur wenige Lösungen, die ein Downgrade der
androidx.appcompat:appcompat
Versionen erwähnen . Diese Antwort hat mir geholfen. Es werden auch andere mögliche Problemumgehungen erwähnt. Wählen Sie die Antwort aus, die für Sie gilt.BEARBEITEN: Der Absturz tritt auch bei API 22 und 23 auf, wenn der Nutzer Google Play nicht installiert hat.
BEARBEITEN 2: Wie im Issue-Tracker hier erwähnt , bietet das Upgrade der
androidx.appcompat:appcompat
Version auf 1.2.0-alpha02 in einigen Fällen die Lösung. Bitte führen Sie eine ausführliche Diskussion durch, um eine geeignete Problemumgehung zu finden.Wie von @MiguelSlv erwähnt, ist das Hinzufügen dieses Maven-Repositorys eine vorübergehende Korrektur. Alle oben genannten Problemumgehungen haben jedoch Nebenwirkungen. Da der Fehler noch nicht behoben ist, handelt es sich nicht um eine saubere Lösung.
quelle
Caused by: android.content.res.Resources$NotFoundException: String resource ID
, dass Sie die bereitgestellte Lösung überprüfen sollten. Ich denke, es würde helfenDiese Antwort, die ich im März 2020 schreibe, könnte danach geändert werden.
In meinem Fall, in build.gradle, App - Ebene, änderte ich
implementation 'androidx.appcompat:appcompat:1.0.0'
zuimplementation 'androidx.appcompat:appcompat:1.2.0-alpha02'
und Problem gelöst ist.Andere Konfiguration, die ich bereits habe, aber nicht geändert habe: - 1-in-Gradle-Projektebene, die ich habe
classpath 'com.android.tools.build:gradle:3.5.3'
2- und in Gradle-wrapper.properties habe ich
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
3- und in Gradle App Level Ich habe
android { compileSdkVersion 29 buildToolsVersion '29.0.2'
festgestellt, dass diese Lösung auf einem realen Gerät mit Android Version 5 getestet wurdequelle
24. April 2020, ich habe es damit gelöst:
Vorherige und nicht funktionierende Version ist unten:
@canerkaseler
quelle
Ich habe über zehn Apps. Alle meine Apps haben "Inflating Problems". Ich habe versucht, Probleme zu lösen. Und ich habe mit Emulatoren und realen Geräten getestet, sie haben keinen Absturz. Aber mein Benutzer also! Beim Testen mit dem Emulator habe ich schließlich einen Absturz festgestellt. Hier ist das Ergebnis: Diese Antwort wurde mit dem 19. April 2020 geschrieben:
Die oben genannten Versionen haben schwerwiegende Probleme. Das Erstellen von Dialogen führt zu Problemen beim Aufblasen von Edittext oder TextView.
Die folgenden Versionen wurden ein wenig getestet, aber es gab keinen Absturz
Wenn Sie diese Versionen noch testen, werden die Ergebnisse geteilt
quelle