1. 程式人生 > >Eclipse 轉 Android Studio 的過程中有必要弄明白的一些問題

Eclipse 轉 Android Studio 的過程中有必要弄明白的一些問題

AS出來一年多了,最近才從Eclipse轉到AS,但我並不覺得使用Eclipse有多落後,它們都只是一個工具而已,哪個順手就用哪個,用得好都能提高生產力,不會合理利用,再好的工具也是惘然。很多使用Eclipse的Android程式設計師不知道程式碼重構的快捷鍵、如何在執行時除錯、一個Workspace一大堆工程……,我想即使轉到Android Studio也並不見得比Eclipse順手。

下面將自己在Eclipse轉AS過程中遇到的一些問題以及對各個問題的理解列出來,方便後續查閱。

1、問:Eclipse的工程如何匯入到AS?

答:我的處理方式是在AS中新建工程,然後將Eclipse中對應工程的檔案拷貝過來;當然也可以通過Eclipse將project導成gradle版本的,然後在AS中匯入該工程。

2、問:對於原生代碼,是如何處理的,在AS上如何編譯JNI的程式碼?

答:AS上同樣可以開發JNI,只不過配置指令碼的過程比較麻煩,各個gradle版本,配置的方式有些不一樣;我的處理方式是AS上只做java開發,JNI還是在Eclipse中開發,方便編譯和除錯;

3、問:在AS上開發會和Eclipse一樣,卡嗎?

答:會,卡不卡和你整個工作空間的複雜度有關,如果Eclipse的一個工作空間工程比較少,是不會卡的;AS也一樣,如果AS的一個工作空間有太多工程,同樣會很卡,特別是編譯的時候;

4、問:AS存在啟動慢的問題嗎,有沒有Eclipse那種初始化進度一直在0%的狀態?

答:目前為止我還沒有遇到過,即使一個工作空間有上十個工程。

5、問:AS編譯比Eclipse或者ant編譯快嗎?

答:不一定,這也跟你專案的複雜度有關,如果你的工程依賴關係簡單,用gradle編譯會很快,當然用Eclipse和ant編譯也一樣;如果你的工程依賴關係複雜,用gradle編譯比用Eclipse、ant還慢。我的建議是:主工程不要依賴太多的libproject,否則會編譯很慢,可以把這些libproject打包成aar,這樣同樣複雜的專案用gradle編譯會比用Eclipse和ant編譯塊不少;

6、gradle與ant相比,有什麼優點?

答:優點比較多,主要的優點是配置簡單,特別是在持續整合的時候,如果是gradle,一條命令就行了,如果是ant,還得自己寫編譯指令碼。

7、問:AS中如何配置工程的依賴關係?

答:在Eclipse中,會存在幾種依賴:

(1)一種是jar包,直接放在libs資料夾即可(早先的Eclipse版本需要設定buildpath依賴關係才算配置OK);

(2)另外一種是libproject,這需要右鍵主工程—properties—Android—點選Add新增依賴項,配置完成後依賴關係會更新到工程根目錄下的“project.properties”檔案。

在AS中會很簡單,右鍵主工程—Open Module Setting — 選中某一個工程,點選右邊的Dependencies選項,點選“+”,分別新增Library/File/Module dependency,Library dependency和File dependency主要是新增jar包(File dependency的jar包是放在工程的libs資料夾下),Module dependency是新增libproject,so放在工程的”libs/架構資料夾”下,不需要配置依賴關係。AS的依賴關係配置完成後,可以在工程的”build.gradle”檔案中檢視。依賴關係配置完成後,記得在build.gralde檔案的android標籤下增加下面這句話,依賴關係才生效: