他們說 Android Studio 3.0 有坑?我怎麼看到一個驚喜!

2021-02-14 安卓筆記俠

距離 android studio 3.0 穩定版的發布已經有段時間。早在發布之際,我便寫過一篇文章,鼓勵大家嘗鮮新版本開發工具:Android Studio 3.0 新功能解析和舊項目適配。

時至今日,仍在各種群裡看見網友們討論 3.0 帶來的所謂的坑。相當一部分朋友不願更新,甚至更新完體驗一段時間後又回退至 2.3 舊版本。既然如此,就再用一篇文章,夾雜著自己一次處理 3.0 問題的過程來聊聊平時開發中遇到的坑。

那麼究竟什麼的錯誤才能算是軟體開發過程中遇到的坑呢?好比說你寫 Coding 完一段代碼,然後編譯時報錯,Run 不起來。於是掄起鍵盤往地上一扔,大罵一聲:垃圾語言,毀我青春!

會嗎?如果不是大姨夫來臨的話,相信大家不會這麼做的。那麼,面對 IDE 工具的更新為什麼不能理性的分析問題呢。

很多開發人員不喜歡查看更新文檔,尤其是英文版。當然,英語閱讀障礙確實算是一個理由。但是像這種關係一眾開發工作的英文文檔,網上都會有對應的中文翻譯版。只需要花費不到一局王者榮耀的時間就足以看完。

當讀完更新文檔之後,你就會發現,所謂的舊版本適配,所謂的新版本帶來的坑,大部分都在文檔裡有所註明,包括每個問題對應的解決方案。

當然,偶爾也會遇到一些文檔裡解決不了的小插曲。比如,我所遇到的 CheckStyle-IDEA 插件不能使用的問題。

這個插件壞掉,意味著在項目中只要包含一處不符合規範的代碼,這次 Commit 將無法提交至 Git 中央倉庫。而更要命的是,面對大批量的修改,我無法用肉眼分辨出不符規範的代碼藏身在哪裡。

沒有插件的詳細錯誤日誌,搜尋引擎也解決不了這種新興出現的小眾問題,怎麼辦?

提交代碼迫在眉睫,只好先使用 jar 包和命令行的笨辦法逐一檢查文件。然後嘗試聯繫 GitHub 網站 CheckStyle-IDEA 插件的作者,通過提交 issue 的方式指出問題,抱著一絲希望期待作者的回覆。

事在人為,多數老外確實比較負責,及時回復處理。由於國內外存在時差,每天與作者只能進行一次相互回復。慶幸的是,經歷前前後後多次的來回溝通,作者更新過兩次插件版本,終於幫我解決掉這個問題。

結果就是,我解決了問題,CheckStyle-IDEA 插件得到進一步完善。列舉這個例子,是想說明,遇到問題並不可怕,一定要擺正心態,積極尋找各種解決方案。不要一上來就認為此處有坑,要避之。很多時候,你所認為的坑不過是別人已經走過的路而已。

這裡也不得不讚嘆一下,人家老外對待自己開源項目的認真程度。像這種兼容問題,作者在不容易復現的情況下,還能引起重視,與問題提交者多次溝通排查錯誤,確實值得稱讚。

截止目前,AS 3.0 版本在我使用的過程中上已沒有任何問題。或者換句話說,我遇到的多數人口中所謂的坑都被填充完畢。功能實用,體驗流暢。也推薦大家升級換代,新版的 UI 簡直狂拽炫酷吊炸天。

更何況,3.0 還隱藏著一個很小但卻很貼心的改動,不知道你們發現了沒有。那就是布局中文本控制項的 singleLine 屬性不再被 Lint 標記為廢棄屬性啦!

圖示為 3.0 前後的顯示對比。用過的人都知道,singleLine 屬性並不能完全被 maxLine 屬性所代替,在 3.0 版本前,卻又被標記為廢棄屬性,難以理解。

好在如今終於得到修復,這對於像我這樣有代碼強迫症和完美主義的 Coder 來說,絕對算是一個驚喜!

武漢之行Google 正式推出中文版 Android 開發教學視頻,你學不學!

贊善,鼓勵原創持之以恆

相關焦點

  • android studio布局嵌套_android studio相對布局和線性布局嵌套...
    利用android studio LinearLayout線性布局設計製作簡易的計算器詳細版【精選收藏】Android Studio簡介Android Studio 是谷歌推出的一個Android集成開發工具
  • Android Studio 3.0 新功能解析和舊項目適配
    上周四,Google 終於在經歷大半年的打磨錘鍊之後正式發布 Android Studio 3.0 版本,給廣大安卓開發人員一份滿意的答卷。如往常一樣,每次新版開發工具的發布,很多謹慎點的朋友仍擔心穩定性、是否存在坑等問題,選擇隔岸觀火,等一段時間再更新升級。經過查看官網對新版開發工具的新功能介紹之後,當天我就選擇了升級。
  • Android Studio 4.0 發布
    Android Studio 4.0 已經發布。此版本亮點包括新的 Motion 編輯器;構建分析器,可用於分析構建速度較慢的原因。
  • 谷歌Android Studio Arctic Fox (2020.3.1) 預覽版發布,附更新內容
    IT之家12月11日消息 谷歌表示,第一版 Android Studio Arctic Fox (2020.3.1) 以及 Android Gradle 插件 (AGP) 的 7.0.0-alpha01 版雙雙在 Canary 通道已正式發布。
  • Android Studio啟用新代號,新版本Arctic Fox(白狐)重點新特性一覽!
    在AGP7.0之後,Gradle將會推出自己的年度主要版本,每年發布一個主要版本。AGP7.0中,採用了語義化版本的原則,並與 AGP 所需的 Gradle 版本保持一致。Android Studio 和 Android Gradle 插件之間的兼容性不會更改。
  • 谷歌:Android Studio 和 Gradle 插件使用全新版本編號
    IT之家12月11日消息 谷歌開發者官方博客表示,第一版 Android Studio Arctic Fox (2020.3.1) 以及 Android Gradle 插件 (AGP) 的 7.0.0-alpha01 版雙雙在 Canary 通道已正式發布。
  • Android Studio 3.4穩定版發布,支持Android Q Beta和Intellij 2018.3.4
    Google 已經發布了最新版本的集成開發環境(IDE) Android Studio 3.4。3.3版於今年早些時候發布。
  • Android Studio 3.0 Canary 版本發布
    然而,本文並不是要說 Kotlin 扶正這件事。Google I/O 舉辦之際,Android Studio 3.0 迎來 Canary 版本的發布。AS 發燒友們可以前往官方下載更新啦,提前感受新功能的使用。在此之前,不妨簡單看看都有哪些實用的更新吧。
  • 微信 v8.0.0 for Android 官方正式版
    微信十周年之際,微信 WeChat 8.0.0 for Android 正式版發布,安卓微信8.0版本帶來了一大波功能,例如:炸彈刷屏、
  • Android幀動畫和補間動畫看這篇足夠了
    在 Android 中常用的動畫分類無外乎三種,最早的 幀動畫 、補間動畫,以及 3.0 之後加入的 屬性動畫,是它們組成了 Android 中各種炫酷亮眼的動畫效果。關於動畫相關的博文說實話很多,但是為什麼要寫這篇文章呢?
  • 微信 for Android v7.0.4 正式版發布 更新了……
    手機Android版微信迎來v7.0.4正式版發布,上一個正式版v7.0.3發布於1月30日,時隔76天又迎來了更新,本次升級主要是發「視頻動態
  • 馬斯克說狗幣牛逼,我說idea插件助你盯盤摸魚
    一代「帶貨達人」,「矽谷鋼鐵俠」,好像當了首富之後有點任性啊,這和馬老闆有的一拼啊,兩個老馬都這麼讓人眼前一亮,這讓我想起了宋丹丹小品中的一句話:「他們名人都這樣」,有錢之後就任性,這玩意好像寫在人們的基因裡了。
  • android通過代碼實現的多布局專題及常見問題 - CSDN
    因為我們的是視頻播放器,所以這個SeekBar需要有背景、緩衝進度和播放進度,最好的方法就是用layer-list 的xml布局實現,類似這樣:<?xml version="1.0" encoding="utf-8"?
  • Android安全防護之旅---幾行代碼讓Android應用變得更加安全
    這裡說的混淆不是說的傳統大家都知道的簡單混淆策略,而是高級一點的混淆策略,首先是代碼混淆,大家可以參考小黃車app的代碼:看到了吧人家把代碼混淆成中國人可以看懂的信息,可惜這樣的信息對於我們破解來說就很麻煩了,關於怎麼做到的,之前的文章已經介紹了,大家可以查閱這裡:Android中把代碼混淆成中文,當然可以簡單一點就是用 -classobfuscationdictionary
  • Android Notes|BottomNavigationView 愛上 Lottie
    導入對應依賴,新增 Lottie Utils    api 'com.google.android.material:material:1.2.0'    api 'com.airbnb.android:lottie:3.4.1'工具類方法:
  • Android View 動畫
    (例如 "5%")        // 3.相對於父View的左邊界的距離與父View寬度的百分比。(例如 "5%p")        android:pivotY="float or percentage"  // 旋轉中心點y坐標,表示形式有三種:        // 1.相對於自己的上邊界的距離,單位像素值。
  • Android之屬性動畫Animator
    ,1f);alpha:控制view透明度,默認是1(不透明),0完全透明(不可見)ObjectAnimator.ofFloat(imageView, "alpha", 1f, 0.5f);x和y:描述view在容器最終位置可變數組參數可以有一個到N個,如果是一個值的話默認這個值是動畫過渡值的結束值。
  • Android 轉場動畫
    聲明轉載自:顏家大少原文連結:https://juejin.im/post/5b0e8554f265da08ed7a15d1轉載已獲得作者授權,如需轉載請聯繫原作者轉場動畫: 是Android L 引入的動畫效果, 可以說是api19引入的場景(Scene)動畫的擴展. 使開發者更加方便的實現布局(界面)變化時候的過渡動畫.
  • Android Studio常用插件
    ButterKnife官網:http://jakewharton.github.io/butterknife/github:https://github.com/JakeWharton/butterknife該插件是由jakewharton開發的,他被人稱為android明星程式設計師,偉大的NineOldAndroids動畫庫正是他開發的。
  • 那些 Android 程式設計師必會的視圖優化策略
    本文由玉剛說寫作平臺提供寫作贊助原作者:四月葡萄1. 概述現在的APP一些視覺效果都很炫,往往在一個界面上堆疊了很多視圖,這很容易出現一些性能的問題,嚴重的話甚至會造成卡頓。因此,我們在開發時必須要平衡好設計效果和性能的問題。