最近随视频教程学习Android,原本都是用Adt写Android程序,中途教程换成了Android Studio,于是我自己下了android studio 2.2.2安装好,并下载好sdk,也跟着更换开发环境。
但教程并未讲解如何将旧有的Eclipse项目导入到Android Studio(以下简称as)中。
自己花了一整天的时间,在网上找相关文章,发现都不能完全解决问题,可能是因为新版本的as相关文章较少吧。所以在费了好一番周折自己一步步试着导入,初步搞定后,记录一下导入时遇见的问题及解决方法。
as 启动界面上有 Android Studio - Import project(Eclipse ADT, Gradle, etc.) 选项,就是用来导入Eclipse项目的,这是全新的Android Gradle Project导入方式。
但不能直接导入Eclipse编写的项目,这样导入完成后会导致报错
Could not find method android() for arguments [build_9xx8trk5589b51rsvzzdwphd5$_run_closure2@3c62b433] on root project 'xxxxxx' of type org.gradle.api.Project.
查了好久,也未找到解决方法,甚至提到这个错误的文章都很少。
于是改用第二种方式,兼容Eclipse的导入方式。
- 在eclipse中Export 选择Android - Generate - Gradle build files ,再选择要导出的项目,最后点击finish就完成。注意:事先要把Eclipse项目拷一份副本保存好,否则这么导出不能指定目标路径,直接在原项目中生成了build.gradle文件,我不清楚会不会有什么后患。
- 打开as,在启动界面上选择Import project(Eclipse ADT, Gradle, etc.) ,再选择Eclipse项目中生成的build.gradle文件,导入。
- 导入完成后,因原来项目的目标Android平台比较低,只是Android-18,我的as的sdk中并没有下载android-18,提示让我下载,我在项目止右键 - Open Module Settings,选择我的module(就是导入的project,project在Eclipse中是项目,在as中是工作空间)将右侧区域 Properties下的Compile Sdk Version和Build Vools Version 改成我已下载的版本,我这里是Api 21:Android 5.0和21.1.2。
- As中运行按钮是灰的,要点击菜单Run - Edit Configration 选择Android App 下的自己的项目名,在右侧区域分别选择好module、Deploy、Launch,这几项一看就明白,不再赘述。
- 此时运行按钮变绿,点击运行,报错:Some file crunching failed ,这是因为有些.9图不标准导致。
修改主工程文件夹下的build.gradle文件,在android {}中加入以下两行
android { aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false ...... } - 又报Crunching Cruncher xxxx.9.png failed 错误,索性把报错的这几张.9图全部替换为普通png图片,将报错的.9图全部删除
最后:Build - Clean Project,错误信息消失。Run 试试,app在模拟器上安装成功并运行。至此,项目导入成功,并可以在as中跑起来了。