web-dev-qa-db-ja.com

Android 5のクラスAndroid.webkit.WebViewのインフレート中にエラーが発生しました

Android 5.0(API 21)で次のエラーテストを行いました。他のOSバージョンでテストしても問題ありません。

Java.lang.RuntimeException:アクティビティを開始できませんComponentInfo {... ui.activities.navigationActivity.fragments.legalFragment.LegalDetailActivity}:Android.view.InflateException:Binary XML file line#24:Error inflating class Android.webkit.WebView

24行目で、xmlレイアウトについて特別なことは何も見つかりません。

<WebView
    Android:id="@+id/nav_fg_legal_detail_web"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
  />

コード:

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.

ライブラリ「androidx.appcompat:appcompat:1.1.0」を使用しています。

更新:完全なスタック:

--------- 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
11
MiguelSlv

私は10個以上のアプリを持っています。すべてのアプリに「問題を膨らませている」があり、問題を解決しようとしていました...エミュレータと実際のデバイスでテストしましたが、クラッシュはありませんでした...しかし、私のユーザーはそうです!最後に、エミュレータでテストしているときに、クラッシュを検出しました。ここに結果があります:この回答は2020年4月19日です:

androidx.appcompat:appcompat:1.2.0-beta01
androidx.appcompat:appcompat:1.2.0-alpha03
androidx.appcompat:appcompat:1.2.0-alpha02

上記のバージョンには重大な問題があります...ダイアログの作成、EdittextまたはTextViewの膨張問題の原因...

以下のバージョンは少しテストされていますが、クラッシュはありませんでした

androidx.appcompat:appcompat:1.2.0-alpha01
androidx.appcompat:appcompat:1.1.0 

このバージョンを引き続きテストし、結果を共有します

0
Ucdemir