相信現在開發
Android 的人所使用的
IDE 不外乎是
Eclipse 和
Android Studio,而開發人員最害怕的就是『
更新』這兩個字。不論是更新 IDE 或是更新 OS 都會讓我們提心吊膽 ,因為更新完之前所寫的 project 可能就不能順利 build 過,甚至到完全無法開啟 project 的窘境。所以一般來說,我們 RD 幾乎不太會主動去更新任何東西,深怕一更新完會跳出一堆
error 訊息。
不過『
不更新』不是長久之計,而且隨著時間,科技也快速的成長,因此必定會遇到『
強迫更新』的情況,遇到就只能乖乖的更新了。
今天去 Git 載了
Exoplayer 的 project,開開心心的用 Android Studio 開啟後,悲劇發生,必須把
Android Studio 更新至 3.0 版才可開啟,真是 OOXX 怎麼可以這樣強迫人呢?完全沒有顧慮到我們的感受。雖然抱怨了那麼多,然還是只能給它用力的更新下去。提著害怕的心情等待更新完成的那一刻的到來。等了差不多五分鐘,終於完成了,終於肯讓我把 Exoplayer 的 project 打開了,歡呼!!
但是開心的時間大概只有一分鐘,當我把舊的 project 打開後.....
最不想遇到的悲劇也發生了。內心只有一個字可以形容....那就是『』((請自行填空
果然出現了 error 訊息,遇到了就勇敢的面對它吧!!相信如果有把 Android Studio 更新至 3.0 版本的人也一定會遇到同樣的狀況,因此就在這裡記錄下來嚕!!
《error: style attribute '@android:attr/windowsEnterAnimation' not found》
遇到 error 訊息必須沉穩的來解決(雖然每次我都不是如此....),每個人解決的方式都不同,而我是
一步一步逐行的把 error 訊息給解決。
將 project 一打開後,就跳出 Update 的視窗,如下圖
每次跳出這種視窗都沒有什麼好事情。這個視窗的重點在『
update the Android Gradle plugin to version 3.0.1 and Gradle to version 4.1.』,主要是因為
Android Studio 3.0 是使用 Gradle 4.1 版,在 4.1 版支援了 Google 檔案庫,因此
Gradle plugin 也應該更新至 3.0.1 以上。就用力地按下『
Update』吧!
更新完後,果不其然的出現了 error message,如下圖
還好這次 error message 不多,就一行一行的來解決問題吧。
最上面的的 warning 訊息就先擱置,等等在處理,先來處理最要命的 error。其實這個問題只要是更新到 Android Studio 3.0 的人開起舊專案一定會有這個問題。
『
error: style attribute '@android:attr/windowsEnterAnimation' not found』
這個問題是因為
Android Studio 3.0 已經不支援@開頭來使用 android 自帶的屬性。有兩個解決方法,我已經嘗試過兩種都可以解決,至於要用哪一種就看個人嚕。
《第一種》
將之前使用@開頭來使用 android 自帶屬性的地方,
刪掉@符號即可。通常是寫在 style.xml 檔案內。可以在 error message 上方連點兩下,Android Studio 會自動幫你跳到錯誤的程式碼所在地。
果然是在 style.xml 使用了 @android 屬性,如下圖
將 @android: 改成 android:
接著點選 Android Studio 上方的工具列
Build → Clean Project
等待一段時間後,會發現
error message 真的消失了!!可喜可賀
接著來處理
warning message,當然
不修正 warning message 也是可以 build 的,不過因為個人堅持所以就一並處理掉啦!
一樣我們先了解這個 warning message 是在和我們說明些甚麼。簡單來說,就是
提醒我們所使用的 SDK Build Tools version (26.0.1) 已經被 Android Gradle Plugin 3.0.1 所忽略,建議我們
改使用 SDK Build Tools version (26.0.2)。那我們就聽話一點改到 26.0.2 版本吧!
在 Android Studio 左邊的 Project 視窗(如果有改過版面配置,請依照自己的配置找到 Project 視窗) 找到
build.gradle (Module:app),連點兩下
就會看到目前這個 project 所使用的 build tools 版本
將
buildToolsVersion "26.0.1" 修改成 "26.0.2",並且點選左上角的『
Sync Now』
等待一段時間後會發現 error message 和 warning message 都不見啦!!看到 0 errors, 0 warnings 就是開心!!
《第二種》
在 Android Studio 左邊的 Project 視窗找到
gradle.properties (Project Properties) 連點兩下,然後在最後加上『
android.enableAapt2=false』,點選右上角的『
Sync Now』。等待一段時間後 error message 就不見啦。
warming message 的處理方法和第一種相同,這裡就不再寫一遍嚕。希望有幫助到大家。
留言
張貼留言