Search

◆ Welcome to Laird Studio! 歡迎蒞臨萊爾德工作室 (੭ु´ ᐜ `)੭ु

2015年11月5日 星期四

[ Eclipse ] [ 疑難排解 ] 解決 Eclipse IDE 更新版本後,開啟舊專案出現的錯誤訊息 ( with Mac OS X )


有在 Follow 我們粉絲團的朋友應該已經知道,這陣子 Laird Studio Caliburn Studio 聯合企劃開發了一支名為《 Lucky X 》Android 抽獎 App

App 開發日誌的部分,會放在 Caliburn Studio 供大家「考古」...... 呃不是啦!是讓大家見證一款使用 Java 原生語言製作而成的 Android App 從無到有,甚至上架到通路商店的過程!

針對《 Lucky X 》在開發過程中碰到的一些技術問題以及解決方法,我們會發佈在 Laird Studio 網站供讀者們學習,而這篇文章正是我們分享的第一篇,並且是有關於使用 Eclipse 開發《 Lucky X 》的疑難排解。

我們曾在開發過程中遇到了一個相當重要的課題 - 「 Eclipse IDE 的版本轉換」,以下便是解決這個課題的過程紀錄,還請大家多多指教~



本篇文章使用的作業系統版本為: Mac OS X El Capitan 10.11.1



本文開始~




「 Eclipse IDE 的版本轉換」是什麼意思呢?

事實上,《 Lucky X 》最原始使用的 IDE 為 Eclipse Luna ,但近期觀察到新版的 Eclipse Mars 開發環境逐漸穩定,想說直接換成最新版本的應該會比較好。

Eclipse Mars.1 啟動畫面


或許有讀者會覺得,「就算沒有更換成新的 IDE ,開發工作也能繼續吧?」

這個答案絕對是肯定的,重點是在於 IDE 本身的「穩定性」


使用 Eclipse Luna 一段時間後,發現到一個很詭異的現象,就是當 IDE 輸出 .apk 檔到手機安裝並執行的時候,常常會因為「不明的原因」就使得 App 突然閃退(意即在剛要啟動 App 時就強行關閉),這讓我們困惑不已。

而且很多時候,我們只是稍微調整一下 .xml Layout 排版,調整前是可以正常執行 App 的,但調整後老毛病又犯了,怎麼樣都無解。


但最後我們察覺到「重新啟動 Eclipse 」這招對「無故閃退」這個問題還蠻奏效的,只要重新啟動 Eclipse ,所有問題彷彿瞬間就消失了,專案又可以繼續下一個階段的工作。

可是每次出問題都要重開 IDE 實在很麻煩又浪費時間,因此很早就有念頭想把 IDE 換成新版的 Eclipse Mars 了。


然而,我們在更換 IDE 的過程並不是那麼順利,或者應該說,有些工作必須「從頭來過」

例如我們必須重新下載安裝 IDE ,也就是下載安裝新版的 Eclipse Mars ,其次要把舊版的 Eclipse Luna 移除掉,但這些都還不是那麼那麼重要,接下來的工作才是這篇文章要描述的課題。



從我們之前撰寫過的文章,大家可以完整學習到要如何在 Eclipse 建置 Android 開發環境:

[ Eclipse ] [ Android ] 如何在 Eclipse 建置 Android 開發環境 ( with Mac OS X )



不過此篇疑難排解很奇妙的,只用到了上述文章中間的一小部分而已!

至於原因嘛,還請聽我娓娓道來~



當我們嘗試使用新版的 Eclipse Mars 開啟最初是使用 Eclipse Luna 開發的《 Lucky X 》專案時,看到的狀況就像下圖一樣,也就是「完全無法顯示 Layout 的預覽視窗 」




仔細研究過後才發現,原來我們少做了一個建置的步驟,答案就是 " Install New Software " 啦!

請至 Help > Install New Software




" Add "




Name 可以任意取名,這邊填入 " Android "

Location 請複製以下網址並貼上即可:

http://dl-ssl.google.com/android/eclipse


都輸入好之後就按下 " OK " 吧~




程式會自動加入需要下載安裝的套件,直接按下 " Next "




" Next "




選擇 " I accept the terms of the license agreements " ,然後按下 " Finish "




系統會開始安裝必要的軟體套件~





如果出現以下的 Security Warning ,直接點選 " OK " 就好囉!





安裝完成之後,系統會要求重新啟動 Eclipse ,請點選 " Yes "




熟悉的歡迎畫面就映入眼簾啦~




當我們重新把 .xml 檔打開後,神奇的事發生了!

所有的功能完全恢復正常, Layout 的畫面也可以正常預覽!

這究竟是怎麼回事呢?





打開 Android SDK Manager ,發現之前安裝過的套件以及 API 並沒有任何異狀。




許久以前建立的 AVD 虛擬機也都還在。





從這次解決問題的紀錄,大家有稍微看出端倪了嗎?

個人也是經由這次的開發經驗,才對 Eclipse 這套 IDE 的架構感到豁然開朗。


我們只是單純的再操作一次 " Install New Software " ,問題就迎刃而解,這代表的是,當我們移除掉舊版 Eclipse Luna 的同時,從 http://dl-ssl.google.com/android/eclipse 下載的套件也就隨之被刪除了!


反倒是一直被放在 Downloads Android SDK 資料夾,由於從 Android SDK Manager 下載下來的 API 以及其他工具套件也都是儲存到這邊,而且舊版 Luna 的設定還留存的緣故,所以我們並不需要重新建置 Android 開發歡境,新版的 Mars 就自動正確的導向 Android SDK 以及 API 這些套件的路徑了!


更妙的是, AVD 是被存放在 /Users/laird/.android/avd 這個資料夾裡面,與 SDK 或 API 的存放位置更是毫無關聯,也就因為這樣, AVD 的設定才會都沒有受到刪除舊版 Luna 這個動作的牽連喔!



如果沒有過這樣的經驗,或許我大概都不會去注意每個工具或者套件的儲存位置了吧!

那現在你看完了這篇文章,是不是跟我一樣,對 Eclipse 有更深一層的認識了呢?





解決 IDE 更新版本後,開啟舊專案出現錯誤訊息的疑難排解就到這邊~

希望對你有幫助~

我們下次見~



你可能會有興趣的文章:

[ Eclipse ] [ Mac OS X ] 如何在 Mac OS X 安裝 Eclipse 開發環境 ( IDE )

[ Eclipse ] [ Android ] 如何在 Eclipse 建置 Android 開發環境 ( with Mac OS X )

[ Eclipse ] [ Android ] 在 Eclipse 執行你的第一個 Android App ( with Mac OS X )

[ Eclipse ] [ Android ] 如何在 AVD 模擬器安裝 APK 程式 ( with Eclipse )

[ AdMob ] [ Eclipse ] 如何在 Android App 加入 AdMob 測試廣告橫幅 ( with Mac OS X )

[ Eclipse ] [ Android ] 如何產生 .keystore 並輸出 .apk 檔 ( with Mac OS X )