解决 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

新版ADT出现appcompat_v7的问题

Android关于Theme.AppCompat相关问题的深入分析

Theme.AppCompat无全屏主题解决办法

Theme.AppCompat.Light的解决方法