Por que o Android OS 8 WebVew com tag de seleção HTML trava o aplicativo

Eu tenho um aplicativo híbrido Cordova para Android e o aplicativo trava quando o usuário toca em uma caixa suspensa no meuWebView em execução no Android OS 8. Criei uma página simples com um<select> tag e o problema é reproduzível. Eu tenho uma solução alternativa que é fazer meu próprio alerta pop-up para selecionar, mas me pergunto se isso está acontecendo com mais alguém e se esse é um OS8.WebView erro.

Abaixo está uma página simples com<select> etiqueta, rótulo, palavra-chave

https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select

Abaixo está o meu log de falha

11:04:58.643 3208-3208/com.****.****E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.****.****, PID: 3208 android.content.res.Resources$NotFoundException: Resource ID #0x0
    at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:195)
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:2133)
    at android.content.res.Resources.getLayout(Resources.java:1142)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:421)
    at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:416)
    at android.widget.ArrayAdapter.getView(ArrayAdapter.java:407)
    at org.chromium.content.browser.input.SelectPopupAdapter.getView(SelectPopupAdapter.java:53)
    at android.widget.AbsListView.obtainView(AbsListView.java:2372)
    at android.widget.ListView.measureHeightOfChildren(ListView.java:1408)
    at android.widget.ListView.onMeasure(ListView.java:1315)
    at android.view.View.measure(View.java:21998)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.view.View.measure(View.java:21998)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.view.View.measure(View.java:21998)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:806)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:685)
    at android.view.View.measure(View.java:21998)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.view.View.measure(View.java:21998)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.view.View.measure(View.java:21998)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at com.android.internal.policy.DecorView.onMeasure(DecorView.java:721)
    at android.view.View.measure(View.java:21998)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2410)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1471)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1751)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1386)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6733)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
    at android.view.Choreographer.doCallbacks(Choreographer.java:723)
    at android.view.Choreographer.doFrame(Choreographer.java:658)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6541)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

Meu problema não é o mesmo que este

Tentar abrir a tag SELECT no Android WebView trava o aplicativo

ATUALIZAÇÃO em 9 de janeiro de 2018: Ainda não tenho uma solução, minha solução temporária é remover a tag e usar apenas uma entrada. Quando o usuário seleciona esse elemento, passamos o evento para o código nativo para abrir uma caixa de diálogo para seleção e atualizar a entrada assim que o usuário fizer uma seleção.

ATUALIZAÇÃO em 23 de março de 2018: Após mais algumas investigações, notei que ela falha apenas se o WebView estiver em um fragmento, mas não em uma atividade.

Encontrei abaixo os comentários deste post:

Tentar abrir a tag SELECT no Android WebView trava o aplicativo

"Quando uma tag SELECT é clicada, o Android exibe internamente suas opções usando um AlertDialog nativo. A visualização na Web deve ser criada com um contexto de Atividade porque a instância AlertDialog precisa de um contexto de Atividade."

Acredito que este seja um bug no Android, provavelmente não está lidando com o Contexto corretamente para o Fragment.

ATUALIZAÇÃO 17 de abril de 2018:

Como Kenyee apontou, daquihttps://issuetracker.google.com/issues/77246450, Diz o Google

Você não deve subclassificar o objeto de recursos - isso nunca foi suportado e só foi possível por acidente (é por isso que agora está marcado como obsoleto). A estrutura precisa conhecer todos os objetos de recursos para poder atualizá-los quando o webview é carregado (já que o webview adiciona caminhos adicionais ao gerenciador de ativos).

29 de novembro de 2018 Parece que esse problema incomodou muitas pessoas.

A solução que eu tentei e testei para trabalhar é não subclassificar o Recurso.A atualização do sdk de compilação e da versão da biblioteca suportada funcionou para algumas pessoas.A adição de uma classe de wrapper ao Resource pode funcionar. Tentei essa abordagem durante minha investigação inicial. Ele resolveu o problema de falha de seleção, ainda trava quando você clica e mantém pressionado um modo de exibição de texto para exibir as opções "COPY", "PASTE" .

questionAnswers(8)

yourAnswerToTheQuestion