eclipse到Android Studio的項目遷移

來源:互聯網
上載者:User

標籤:android   項目遷移   android studio   eclipse   

一直以來,公司開發都是用eclipse,但是隨著我們應用不斷成長,項目結構越來越龐大,項目間依賴關係變得很複雜,用eclipse管理顯得非常吃力,經常一個同事更改依賴項目之後,別人在更新,都會出現問題,因為這些事情浪費很多時間。最終決定遷移到Android Studio。但是遷移的過程中還是遇到了很多問題,通過這篇部落格,把遷移過程中遇到的問題,以及每個問題的解決方案,記錄一下,也希望能協助到有同樣需求的同學。

這裡就不詳細介紹從eclipse匯入到Android Studio的過程了。

1.亂碼

用eclipse開發時編碼用的是GBK,而android studio中使用的是UTF-8,所以在build的時候,項目中的溫度符號,以及一些中文注釋就會出現亂碼。

解決方案

統一編碼,我們把編碼都改成UTF-8. Android studio通過如下方式改項目和檔案的編碼:

File -> Other Settings -> Default Settings -> 搜尋File Encodings ->改三個地方的編碼(IDE Encoding,Project Encoding,Default encoding for properties files)
2. 重複圖片我們有一個Library是從主專案中抽取出來的,抽取的過程中很多圖片從主專案中copy出來之後,忘記刪除了,匯入到Android studio之後,build的過程就會出錯,不過錯誤資訊中有提示重複的檔案,我們只需要根據提示把不用的圖片刪掉。3. Unable to execute dex: method ID not in [0, 0xffff]: 65536對於這個問題,google官方給出瞭解釋,http://developer.android.com/tools/building/multidex.html,大概意思就是:當你的應用以及應用依賴的library達到一定的Size之後,在build的時候就會提示這個錯誤,說明你的應用已經達到了Android app構建架構的限制大小。android虛擬機器限制了每一個DEX檔案能夠引用的method的個數為65536, 它包括Android Framework,Library,以及自己項目中的methods總和。
解決方案給我們的應用產生多個DEX檔案,需要在build.gradle,檔案中配置:
android {   defaultConfig {      ...      multiDexEnabled = true   }}
另外,還要使用MultiDexApplication類,如果你的應用中已經有Application類,需要讓它繼承自MultiDexApplication,再實現attachBaseContext方法,代碼如下:
protected void attachBaseContext(Context base) {super.attachBaseContext(base);MultiDex.install(this);}
4. OutOfMemoryError: GC overhead limit exceeded在build.gradle檔案中做如下配置:
android {...dexOptions {        incremental true        javaMaxHeapSize "4g"    }}
5. java.util.zip.ZipException: duplicate entry during packageAllDebugClassesForMultiDex報錯資訊如下:
Error:Execution failed for task ':ezweather_original:packageAllDebugClassesForMultiDex'.> java.util.zip.ZipException: duplicate entry: android/support/annotation/ColorRes.class
解決方案,在build.gradle中添加如下配置:
configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }

這時候app終於能運行起來了...

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

eclipse到Android Studio的項目遷移

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.