码迷,mamicode.com
首页 > 移动开发 > 详细

从eclipse到android studio

时间:2016-04-29 19:49:25      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:

本文主要讲解安卓工程从eclipse导出到android studio,下面简称studio,并且兼容两种环境。


android studio是谷歌官方推的安卓开发IDE,和eclipse相比,有很多优点,比如:

  • 日志更人性,有各种标记,URL可以直接点击,可以直接选中复制。eclipse的复制则比较麻烦,偶尔会乱滚动,bug较多
  • studio可以使用网络路径依赖支持的JAR,结构更清晰。eclipse会遇到这样的问题:“引用的两个库都有自己的support-v4.jar,需要统一版本去重”
  • 很多的开源工程都使用studio
  • studio打多渠道包要更加方便
  • studio的联想功能更强大,如“ic_loading_selector.xml”,输load就可以联想,码代码丝般顺滑
  • studio即时同步文件的变化,省去eclipse刷新再clean的步骤
  • studio的工具更多,调试更方便
  • studio集成了版本控制工具,提交更方便
  • stdudio通过project管理多个module,使项目更加模块化
当然studio也有缺点:

  • 前期编辑native C代码没有eclipse方便
  • 相对eclipse工程稍重
  • 老项目比较成熟,移动到gradle为项目增加风险。增加学习成本
  • 一些依赖文件需要翻墙。
  • 不同程序员写的工程gradle版本不一样,在导入他人工程时可能要加载gradle支持文件,而这个支持文件较大,时间慢,UI只有一个loading状态,下载需要翻墙,导致失败。(这个文件可以直接用迅雷下载然后放入指定目录。在windows下,目录位置为“C:\Users\Administrator\.gradle\wrapper\dists”,在linux下对应“/home/用户名”)如下图:
技术分享
  • 有人认为studio的编译速度慢。其实编译慢主要是因为默认编译是执行在线编译,离线编译简直是丝般顺滑。编译速度优化的文章参考:Gradle Build速度加快终极方法


个人感觉,切换到studio还是好处更多,也是大势所趋。

首先是单module的eclipse工程导出到studio。eclipse工程目录结构如下:

技术分享

从eclipse导出到studio有两种方式:

  • 使用eclipse导出gradle文件,再从studio导入
  • 直接从studio导入
先说第一种,先从eclipse导出gradle文件,再导入到studio,目录如下:

技术分享

多了studio相关的文件。在导入过程中,会提示如此导入会导致工程结构不是studio风格的,studio会建议以studio风格的方式导入,不推荐,后续可能遇到一些问题。

现在,两种IDE都可以打开此工程了。

下面是第二种,直接把eclipse工程导入到studio后的结果:

技术分享技术分享

在外层有一套project对应的配置文件,而eclipse的唯一的module,名称变为了app,module内按照studio的风格排布,也有自己的gradle文件了。

现在兼容eclipse,需要做一下工作:

  • 把lib拷贝到src/main目录下,来和eclipse保持一致
  • 拷贝原eclipse中的工程配置文件到src/main目录下,来和eclipse保持一致
  • studio的源码为java路径,修改eclipse的源码路径到java
  • 指定lib到新的位置、添加JAR依赖、NDK配置,主要是修改app的module的build.gradle文件。可以参考:android studio之build.gradle写法简介

结果如下:
技术分享
技术分享
其中sh是原先目录的,和工程无关的一些脚本文件,可以忽略。
.classpath和.project是eclipse的工程文件
.gitignore是原eclipse工程提交到git上的忽略配置文件
.project.properties是eclipse的工程属性文件
.proguard-project.txt是混淆相关的配置
ic_launcher-web.png也拷贝过来了,作用:ic_launcher-web.png 可以删掉吗

github上很多工程都是使用类似的配置方式。


关于多module的eclipse工程导入到studio,本人只研究了谷歌推荐的直接导入法,即不在eclipse生成gradle的方法。
举例:
技术分享技术分享
图中的工程为eclipse的project,包含一个主module,一个lib module。
在studio选择import文件夹的时候,切勿选择sample-master这个目录,本人尝试过一次,结果新工程比较混乱,且无法添加网络依赖的support jar。
正确方法应该选择sample文件夹。
如果eclipse依赖正常,studio在导入时检测到两个module的关系,会自动在新的project中创建sample以及sample-lib的module文件夹。
当然后续如果要支持eclipse,还需要前面写到的操作。

最后,在已经配置OK的多module的studio工程中追加eclipse的module,直接导入即可,然后还是执行前面说的操作,把eclipse文件拷贝到src/main下面。
而之前写的一篇文章,使用的先从eclipse导出gradle再导入到studio的方法,感觉不好,可以淘汰了:

从eclipse到android studio

标签:

原文地址:http://blog.csdn.net/starry_eve/article/details/51225907

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!