解决 appcompat 1.1.0 导致 webview crash 的问题
Posted feelang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决 appcompat 1.1.0 导致 webview crash 的问题相关的知识,希望对你有一定的参考价值。
android SDK 太不让人省心了,正式版本居然也埋雷。
前段时间把 support 升级到了 androidx,appcompat 自动升级了新版本 androidx.appcompat:appcompat:1.1.0
。
简单回归了下功能就发上线了,结果在在 5.1 的系统上发生了大规模的 crash,抛出的异常是找不到资源。
java.lang.RuntimeException: Unable to start activity ComponentInfo:
android.content.res.Resources$NotFoundException: String resource ID #0x2040003
拿到错误栈就好说了,无脑 Google 一下,很多人都遇到了这个问题,issue tracker 上有人已经提交了这个 bug。
首先尝试在 gradle 的 dependency 文件中将 1.1.0 版本退回到 1.1.0-rc01,跑了一下 ./gradlew :app:denepdencies
发现并没有用,因为其他 sdk 依赖了 1.1.0 的版本,gradle 的版本仲裁机制就是这样,永远取最新版。
怎么办?
好办,gradle 脚本可以强行指定版本:
configurations.all
resolutionStrategy
force 'androidx.appcompat:appcompat:1.1.0-rc01'
编译安装跑一下,OK 没问题了。
以上是关于解决 appcompat 1.1.0 导致 webview crash 的问题的主要内容,如果未能解决你的问题,请参考以下文章
更新到 androidx.appcompat:appcompat:1.1.0 后的语言更改问题
Gradle 无法解析 androidx.appcompat:appcompat:1.1.0-alpha01 和 com.google.android.gms:play-services-nearby