解決 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 沒問題了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章