一峦失、 背景叨叨叨
今天,好久沒有寫Android程序的我突發(fā)奇想术吗,想簡單寫一個(gè)每日任務(wù)APP尉辑。好的!新建工程->寫好代碼框架->開啟模擬器->運(yùn)行较屿!哎哎哎隧魄?实幕!那啥!咋報(bào)錯(cuò)了嘞堤器?昆庇!來到控制臺(tái),看到了我們的主角:
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.
二闸溃、 為啥有這樣的錯(cuò)誤
這是明擺著告訴我們整吆,當(dāng)前工程用的是Android SDK 24編譯的,也就是之前新出的Android N辉川,雖然沒有接觸過N版本表蝙,但是多少也有耳聞,這個(gè)版本除了很多新的特性(聽說出AR了乓旗,好激動(dòng)>o<)府蛇,需要JDK 1.8來支持。嗯屿愚!很靠譜的分析-_-||
三汇跨、怎么解決呢
有病得治!藥不能停白本唷穷遂!要把工程做下去,需要解決這個(gè)問題坝榫荨蚪黑!這里有兩種解決方法:
1. 來到我們的gradle文件,把與Android SDK 24版本有關(guān)的都改為低版本的
2. 方法1當(dāng)然是指標(biāo)不治本中剩,到以后忌穿,我們肯定要用到Android N的特性的,所以與其拖延结啼,不如我們馬上把JDK 1.8下過來安裝的好掠剑。
四、 九曲十八彎的安裝之路
原諒我話嘮妆棒,這里多扯幾句哈澡腾!哈哈哈哈!
最開始糕珊,傻乎乎的我安裝的是jre,安裝好后發(fā)現(xiàn)這個(gè)小家伙的安裝路徑是:
/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/
然后毅糟,我配置了一下Android Studio的JDK的路徑红选,然后就蒙了。姆另。喇肋。
后來想想坟乾,發(fā)現(xiàn)了問題所在:人家熱情洋溢地邀請(qǐng)我安裝JDK路徑,我熱情似火地給了它一個(gè)JRE的路徑蝶防,人家當(dāng)然要給我吃閉門羹啦甚侣!哈哈哈哈!不知道有多少小伙伴跟我一樣中過槍间学!
后來到Oracle官網(wǎng)去下載JDK 1.8,Safari右上角友好地提示:下載完成還需2個(gè)小時(shí),當(dāng)時(shí)我整個(gè)人就愣住了实柠,下載好后都可以睡覺了,哈哈登钥!開個(gè)掛吧牧牢!打開魚擺擺,把代理開到美國的弗里蒙特(嘿嘿轮纫!安利一下7傧省)網(wǎng)速那個(gè)快芭幢颉!不到一分鐘就搞定了搓谆!
說到魚擺擺泉手,這里強(qiáng)調(diào)一下缝裤,魚擺擺的官網(wǎng)是:https://ybb1024.com
不是網(wǎng)上所說的http://www.yubaibai.com,這個(gè)網(wǎng)站是不是山寨的搀崭,代理速度慢到不行!
不要點(diǎn)進(jìn)去哦轰传!
為了照顧沒有翻墻的童鞋們获茬,我把JDK放到了百度云盤,這里是下載地址渤涌,速度非超級(jí)會(huì)員下載速度可能會(huì)慢一點(diǎn)实蓬,但是相比于官網(wǎng)的速度已經(jīng)快多了哦调鬓!
五袖迎、 配置JDK路徑
我們打開Android Studio,在File->Project Structure...->SDK Location->JDK Location中選擇我們的JDK 1.8路徑就好归形!
什么暇榴?你不知道剛剛安裝的JDK 1.8在哪個(gè)路徑?下面是JDK 1.8的默認(rèn)安裝路徑奸例。
/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
配置好了查吊!哈哈!終于可以看看我搭的界面框架了,運(yùn)行工程啦!啦啦啦!來看看我的APP界面吧怕磨!
。
消约。
肠鲫。
。
或粮。
导饲。
。
。
渣锦。
硝岗。
。
袋毙。
型檀。
。
听盖。
胀溺。
。
皆看。
好吧仓坞!天將降大任于斯人也,必先賜其BUG腰吟!哈哈无埃!
六、 結(jié)尾有彩蛋
你以為這樣就完了蝎困?录语!來!最后再叨叨幾句禾乘!
說到JDK 1.8澎埠,大家應(yīng)該知道Java JDK 1.8里面的Switch可以支持對(duì)字符串進(jìn)行判別了!如今Open JDK 1.7也支持這樣的特性了始藕,Oracle JDK 1.7目前不知道支不支持蒲稳。既然已經(jīng)支持了,但是還是有很多童鞋發(fā)現(xiàn)伍派,盡管自己使用的是Open JDK 1.7江耀,但是代碼里Switch對(duì)字符串進(jìn)行判別還是會(huì)報(bào)錯(cuò),這是因?yàn)槭褂玫腅clipse版本太舊诉植,其本身編譯器還沒有支持這種特性祥国,所以說:
時(shí)代在變,工具在更新晾腔,而我們舌稀,也要用新知識(shí)武裝更新自己,才能不被時(shí)代的逆流淘汰灼擂!