项目迁移-从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配置。

相关文章
相关标签/搜索