国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

androidx.appcompat 升級(jí)到1.5.1 趟過的坑

這篇具有很好參考價(jià)值的文章主要介紹了androidx.appcompat 升級(jí)到1.5.1 趟過的坑。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

APP 要上google play,Android SDK 版本要升級(jí)到32;接了一個(gè)第三方SDK,不巧的是這個(gè)SDK引用appcompat是1.5.1,順手把a(bǔ)ppcompat 包升級(jí)到1.5.1,這草率的一升,帶來的不止一地雞毛,還有精神上被殘忍無情的蹂躪,心情上躁動(dòng)不安,以及快要上線的APP給心理上帶來的惴惴不安;再次吐槽android這種碎片化的詬病,當(dāng)時(shí)RN SDK升級(jí)的痛苦仿佛瞬間又要撲面而來,而且這一次來的貌似更猛烈些。

一時(shí)的心血來潮

androidx.appcompat 版本: 1.3.1 ---> 1.5.1

在https://developer.android.google.cn/jetpack/androidx/releases/appcompat?hl=zh-cn查詢到 1.5.1 會(huì)有如下依賴:

androidx.appcompat 升級(jí)到1.5.1 趟過的坑

好家伙,Lifecycle 版本也要升級(jí)到 2.5.1,再查:

androidx.appcompat 升級(jí)到1.5.1 趟過的坑

同時(shí)修改項(xiàng)目依賴版本到 2.5.1:

androidx.appcompat 升級(jí)到1.5.1 趟過的坑

可以在Maven上面繼續(xù)查詢一下,androidx.appcompat 的依賴如下:

androidx.appcompat 升級(jí)到1.5.1 趟過的坑

把對(duì)應(yīng)的項(xiàng)目中依賴修改成對(duì)應(yīng)版本,例如我的:

androidx.appcompat 升級(jí)到1.5.1 趟過的坑

場面逐漸失控

本以為版本升級(jí)到此結(jié)束,編譯輕輕click,起身打水,品一口我的西湖龍井;回來一看,我去!新的報(bào)錯(cuò):appcompat-1.5.1-api.jar!/META-INF/appcompat_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.5.1;截圖如下:

androidx.appcompat 升級(jí)到1.5.1 趟過的坑

頓時(shí)感覺不妙啊,這是要升級(jí)kotlin版本吶,思前想后一番糾結(jié)之后,都折騰到這份上了也不能停啊,于是開始了 kotlin 版本升級(jí): 1.5.20 ----> 1.7.10

androidx.appcompat 升級(jí)到1.5.1 趟過的坑

Sync 之后果然果然代碼里出現(xiàn)各種語法錯(cuò)誤提示,查看kotlin 官方文檔:https://book.kotlincn.net/text/whatsnew17.html 看到了好多新語法特性,此時(shí)灰頭土臉的還來不及細(xì)品這些,此間不小心看到了看到Gradle的字眼,瞬間感覺不太妙,編譯報(bào)錯(cuò)gradle 版本過低,仔細(xì)一看:

androidx.appcompat 升級(jí)到1.5.1 趟過的坑

好家伙,果然要升級(jí)Gradle,我的Android Studio好久沒更新了,既然要gradle 7.0,那我就升級(jí)到最新版本Android Studio,免得好多kotlin 代碼有語法高亮提示錯(cuò)誤,一頓操作猛如虎,升級(jí)到了最新版本Android Studio;在官網(wǎng):https://developer.android.google.cn/studio/releases/gradle-plugin?hl=zh-cn#kts查了一下Grandle對(duì)應(yīng)插件版本:

androidx.appcompat 升級(jí)到1.5.1 趟過的坑

于是把gradle版本升級(jí)到了:7.1.2,過程中還有g(shù)radle 要求運(yùn)行java版本為11,自行搜索修改了一下Studio 設(shè)置,至此 Kotlin、 Android Studio、Gradle 都做了升級(jí),語法錯(cuò)誤高亮提示少了許多,點(diǎn)擊運(yùn)行依舊會(huì)提示語法錯(cuò)誤,那就是苦力活了,各種when必須添加else分支、一些個(gè)判空操作的lamda表達(dá)式需要修改;

柳暗花明

看著幾十上百個(gè)kotlin語法錯(cuò)誤,無法編譯,when必須添加else分支、一些個(gè)判空操作的lamda表達(dá)式語法糖需要修改,剩下的就是苦力活了,不斷地修改語法錯(cuò)誤,編譯再修改,再編譯,花了半天功夫總算是可以順利編譯通過了,再次短期我的茶杯,此時(shí)那茶已然涼透了,倒掉再泡一杯。。。

總結(jié)

代碼雖然都修改完了,也能順利運(yùn)行起來,但如此大動(dòng)干戈的修改代碼,帶來的不只是架構(gòu)上的風(fēng)險(xiǎn),業(yè)務(wù)層代碼也進(jìn)行了很多修改,雖然都是些語法適配修改,但畢竟是動(dòng)了代碼,作為碼農(nóng)我們敢拍胸脯保證百分之百的正確嗎?我心里是惴惴不安的,這個(gè)樣的改動(dòng),測試同學(xué)是不是又能全部覆蓋呢,我想測試同學(xué)也是惶恐萬分,我們開發(fā)是不是能把每一處修改都覆蓋測試,以及交付測試時(shí)能夠準(zhǔn)確的告訴測試范圍呢?對(duì)于這樣的疑問我大底是要沉默了的。我想這樣的改動(dòng)若是最終引發(fā)了線上故障怕也只有開發(fā)去默默地背起這口鍋了。

Android 的碎片化,每過一段時(shí)間就會(huì)給我們帶來一次陣痛,也許一個(gè)簡單API升級(jí)就會(huì)引發(fā)一系列的升級(jí)改造,我想不只是Android、Kotlin、RN、Flutter、Swift; 其實(shí)這種升級(jí)的兼容性是難以避免的,因?yàn)檫@是思想的變化、技術(shù)的革新,我們能做的就是擁抱變化,追隨技術(shù)時(shí)代的步伐,不斷學(xué)習(xí)新的架構(gòu),不斷升級(jí)調(diào)整我們代碼,這樣我們才能始終守護(hù)住自己的那份麥田。That's All文章來源地址http://www.zghlxwxcb.cn/news/detail-487077.html

到了這里,關(guān)于androidx.appcompat 升級(jí)到1.5.1 趟過的坑的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 記錄一下postman漢化踩過的坑

    postman安裝后會(huì)頻繁的進(jìn)行更新,每次更新后我們會(huì)發(fā)現(xiàn),postman界面就會(huì)回到原來的英文界面。這是由于漢化包的版本和postman的版本不一致導(dǎo)致的。 postman漢化包的更新滯后于postman的更新,如果要成功將postman漢化,就要下載以前的版本保證postman的版本和漢化包的版本一致。

    2024年02月15日
    瀏覽(25)
  • 升級(jí)targetSdkVersion至33(以及遷移至Androidx)

    1.設(shè)置 android.useAndroidX=true 和 android.enableJetifier=true 2.一鍵遷移至androidx:Refactor - Migrate to Androidx 3.手動(dòng)修改未能自動(dòng)遷移到androidx的部分: android.support.v4.view.ViewPager.PageTransformer -?androidx.viewpager.widget.ViewPager.PageTransformer android.support.annotation.NonNull - androidx.annotation.NonNull android.s

    2024年02月07日
    瀏覽(23)
  • docker+selenium+firefox | 我踩過的坑

    為了實(shí)現(xiàn)SSPUBot不在我電腦上部署,我只能將其制成Docker。 要知道SSPUBot在開發(fā)的時(shí)候用了selenium+Firefox的想法開發(fā),所以Docker里面必須要有Firefox,結(jié)果這就讓見識(shí)到了最頑固的錯(cuò)誤 selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status 255 我們還是省略我找的

    2024年01月22日
    瀏覽(20)
  • 關(guān)于python的mediapipe庫踩過的坑

    關(guān)于python的mediapipe庫踩過的坑

    ??大家好,我是csdn的博主: lqj_本人 這是我的個(gè)人博客主頁: lqj_本人的博客_CSDN博客-微信小程序,前端,vue領(lǐng)域博主 lqj_本人擅長微信小程序,前端,vue,等方面的知識(shí) https://blog.csdn.net/lbcyllqj?spm=1000.2115.3001.5343 嗶哩嗶哩歡迎關(guān)注: 小淼前端 小淼前端的個(gè)人空間_嗶哩嗶哩_bilibil

    2024年01月17日
    瀏覽(26)
  • Spark搭建日志,記錄一些踩過的坑

    Spark搭建日志,記錄一些踩過的坑

    本人在Centos中使用三個(gè)虛擬機(jī)(node1,node2,node3)搭建hadoop與Spark分布式環(huán)境(具體見后記中的Hadoop安裝),本文記錄一些踩過的坑 解決辦法:sudo chown -R 用戶名 /spark(spark或者h(yuǎn)adoop所在目錄) 原理:文件的初始所有者不是用戶名(如root),要把spark目錄的初始所有者更換為自

    2024年03月14日
    瀏覽(20)
  • visionPro通過網(wǎng)線連接??迪鄼C(jī)踩過的坑
  • 一卡通水控電控開發(fā)踩過的坑

    一卡通水控電控開發(fā)踩過的坑

    最近在做一個(gè)項(xiàng)目,是對(duì)接一卡通設(shè)備的。我一開始只拿到設(shè)備和3個(gè)文檔開局。不知道從哪下手。一步一步踩坑過來。踩了很多沒有必要的坑,寫出來給有用的人吧。 有個(gè)讀卡器,一開始什么軟件也不提供。我都不知道是干嘛用的。后來問客服才知道有一個(gè)測試軟件。我真

    2024年01月23日
    瀏覽(28)
  • hql(hive sql)中的join及踩過的坑

    1 幾種join方式 join join 對(duì)應(yīng)于 inner join 內(nèi)連接。 當(dāng)多張表進(jìn)行 join 的時(shí)候,所有表中與 on 條件中匹配的數(shù)據(jù)才會(huì)顯示。 hql (即 hive sql )的 on 子句中只支持 and ,不支持 or ,也不支持 null 的對(duì)比。 left outer join 左外連接,也稱為左連接。 以左表為基準(zhǔn),如果右表有條件匹配

    2024年01月21日
    瀏覽(23)
  • 「AntV」X6開發(fā)實(shí)踐:踩過的坑與解決方案

    「AntV」X6開發(fā)實(shí)踐:踩過的坑與解決方案

    長期更新版文檔請移步語雀(「AntV」X6開發(fā)實(shí)踐:踩過的坑與解決方案 (yuque.com)) --Recent update:2024-01-05 相信你們在開發(fā)中更多的需求是需要自定義拖拽源,畢竟自定義的功能擴(kuò)展性高一些,而且可以根據(jù)你的業(yè)務(wù)需求靈活設(shè)置。自定義拖拽的優(yōu)點(diǎn)就是:萬物皆可成為拖拽源,

    2024年02月08日
    瀏覽(22)
  • 嵌入式-stm32重要基礎(chǔ)知識(shí)(及踩過的坑)

    嵌入式-stm32重要基礎(chǔ)知識(shí)(及踩過的坑)

    1、固件庫: 固件庫就是函數(shù)的集合,固件庫函數(shù)的作用是向下負(fù)責(zé)與寄存器直接打交道, 向上提供用戶函數(shù)調(diào)用的接口(API)。 2、CMSIS標(biāo)準(zhǔn)與固件庫的關(guān)系 就是對(duì)固件庫函數(shù)的要求。 ARM 公司為了能讓不同的芯片公司生產(chǎn)的 Cortex-M3 芯片能在軟件上基本兼容,和芯片生產(chǎn)商

    2024年02月04日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包