項目遷移-從Eclipse到Android Studio

最近作的比較多的事情就是把公司的eclipse項目轉入Android Studio中。不少問題的解決其實憑直覺瞎搗鼓便可,可是總仍是能造成一些操做習慣和步驟,記錄下來。java

一、在AS中新建空項目。具體作法看我的喜愛,但我比較偷懶,喜歡一開始就有完整的結構,因此在新建選項中選擇自帶Empty Activity,所以AndroidManifest.xml也會被一併建立。android

二、文件拷貝。儘管Android Studio中已有工具號稱協助從Eclipse中Import工程並嘗試自動轉換爲AS項目,但實踐證實它並無足夠智能地處理衝突,而且挺容易把本來清晰的文件結構和配置弄的混亂。所以個人作法是,在Android Studio中新建項目B,並從Eclipse項目A文件夾中將文件逐步拷貝過來。具體的,src、res、assets等目錄能夠手動逐個拷貝,其中res和assets兩個目錄在AS中應位於src/main中,這點應注意。app

三、項目設置。Eclipse項目中的AndroidManifest.xml文件內容能夠先所有拷貝,而後將部份內容挪至AS項目的build.gradle文件,主要是compileSdkVersion,buildToolsVersion,minSdkVersion,targetSdkVersion,versionCode,versionName這幾個。eclipse

四、依賴處理。一般有jar包、aar包、library依賴等。固然,首先應先檢查依賴包是否可從線上各類maven庫中取得,這種幸福的方式不該錯過,直接以compile語句形式添加到app的build.gradle中便可。本地文件例如jar或aar,能夠直接放入本地文件夾,例如libs。maven

jar包的引入方式:工具

compile fileTree(include: ['*.jar'], dir: 'libs')

若是是本地aar文件,則需在module層的build.gradle中加入:gradle

repositories {
    ...
    flatDir {
        dirs 'libs'
    }
}

而後相似:ui

compile(name: 'arcgis-android-v10.2.7', ext: 'aar')
若是是library形式,則在module的settings裏邊新建模塊,導入相應工程,並在本身的app的dependengcies裏經過添加Library denpendency的方式將其加入。code

五、處理文件重複。例如:Duplicate files copied in APK META-INF/LICENSE,在Module:app的build.grade文件中的android節點中增長packagingOptions選項,並用exclude關鍵字添加相應文件的路徑,例如:xml

packagingOptions {
    exclude 'META-INF/LGPL2.1'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
}

六、不要忘了刪除此前新建AS項目時的java文件,例如EmptyActivity.java之類,以及其資源和Manifest配置。

相關文章
相關標籤/搜索