1. 直接导入
打开Android Studio,如果里面已经打开了项目,选择关闭当前的项目,会弹出一个Welcome对话框:
选择Import project (Eclipse ADT, Gradle, etc.),然后再选择要导入的Eclipse项目:
点击"OK"以后,选择导入的目标文件夹,默认的是相同的目录下,相同的项目名称后面跟了一个"1",实际上是新建了一个目录:
再点击"Next",会有一个选择对话框,去掉最后一个驼峰命名的选项:
最后点击"Finish",导入成功:
2. 间接导入
首先在Eclipse里面选择File->Export,选中"Generate Gradle build files":
点击"Next",会有一个说明对话框:
继续"Next",选择要转换的项目,注意只选中要转换的项目,这个项目需要的库不要选中:
再点击"Next",可以看见项目需要的库已经被自动包含了进来:
连续点击"Finish",结束在Eclipse中的操作。进入Android Studio,同样的关闭当前项目,进入Welcome对话框:
选择Import project (Eclipse ADT, Gradle, etc.),进入项目选择的对话框,注意这时就不是选择要导入的项目,而是Eclipse工作目录下的build.gradle文件:
等待一段时间以后,可以看见项目以及需要的库都被导入了进来:
总结一下,第一种方法适用于不需要库的项目,第二种方法适用于需要库的项目。
导入如果报错:
【已解决】Android Studio下,gradle project sync failed 错误
解决方案:进入项目目录下,找到 gradle\wrapper\gradle-wrapper.properties 文件,记事本打开,内容如下:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
如果以上两种方法都不理想,还有第三种方法提供,虽然不是很便捷,但是能避免不必要的错误。就是复制粘贴。
1)在Android Studio新建项目,填写项目主包名跟原来Eclipse的主包名一样。假设主包为com.fu_ckproject。
2)清单文件:AndroidMainfest.xml这个问题基本上可以把内容全部覆盖过来。
3)java代码文件:把Eclipse src的包复制过来,这里详细说明一下,程序主包在创建项目的时候已经自动生成了。这里是com.fu_ckproject这个包,那么首先把Eclipse的这个包的java文件copy过去。然后仿照Eclipse的包结构,在Android Studio的java目录下new-package-输入跟Eclipse相同的包名,然后把java文件copy到对应的包里面。注意不要直接从Eclipse copy过去,包名会丢失的。你可以试一下。
4)布局资源文件:Eclipse res下的drawbale ,layout,drawbale-hdpi,values等,copy到Android Studio的res目录下就好了。
4)jar库和so库:在Android Studio 切换成“project”模式,展开找到libs目录,按Eclipse下libs的一样把所有jar库和so库复制过来,正常来说jar库文件一般是直接放libs下的,so库是放armeabi等文件下的。这样一般就可以了,因为新建项目后build.gradle会有一句:compile fileTree(dir:'libs',include: ['*.jar']),这个可以加载所有jar,而so文件放armeabi就搞定了。
5)build一下,运行一下,看有没有错误,如果遇到自定义view的布局“res/...(自定义view类)”这种错误的话,改为“...res-auto”就可以了,android studio会自动识别。还有会有找不到什么theme之类的,一般就是你的compileSdk写的太高了,在build.gradle改为21就好了,如下
defaultConfig {
// applicationId "XXX.XXXXXX"
applicationId"XXX.XXXXXX"
minSdkVersion10
targetSdkVersion21
versionCode1
versionName"1.0"
}
还有导入V4,V7的包,版本别用最新的,用21的就可以。
我有个项目就是直接导入AS死活还是有问题,迫于无奈只能复制粘贴得以解决,值得提醒的是,如果有第三方jar包,记得添加。