【Android】一步一步教你从Eclipse移植项目到Android Studio(1.4)

今天搞了差不多一整天,终于成功把原来在Eclipse的项目移植到了Android Studio上面。其实网上关于如何做移植已经有不少文章了,而且Android Develop的官网也有介绍,但是差不多网上的版本都已经过时,因为Android Studio和Gradle的版本更新实在是太快了。。。(仿佛隐隐约约看到了从Swift1开始使用到Swift2.x之后的语法变化导致项目大面积语法修改的悲剧。。。)

好了,言归正传,详细记录一下整个过程。

首先说一下大前提:

我的Eclipse版本是Mars.1,不过这个Eclipse版本应该不是问题,反正导出的Gradle的几个文件还是要手动修改的。

我的Android Studio的版本是1.4,目前已经有1.5了,我就装了差不多有1周,就出了1.5,还没来得及更新,这个问题也不大。建议大家先自己把Studio的环境搭好,然后自己写一个Hello World调试一下,因为后面有些东西如果你事先调试好了,可能会节省一些工作量。

在导出项目前最好备份一下你的工程。我的项目就是导出以后因为多了一些Gradle的文件,所以还用Eclipse编译的时候会出一些error。如果你的也出了一些类似于“In gradle projects always user http://schemas.android.com/apk/res-auto for.....”的错误,不要慌张,你能看到你的工程里面有个绿色图标的Gradle,把那个删除,然后重启Eclipse,应该就ok了。

第一步,从Eclipse导出工程

1. File --> Export

2. 选择Generate Gradle build files,点击Next

3. 这个是告诉我们一些关于导入Studio的Tips,可以直接Next

4. 选中你的工程

这里说一下,我的主项目是  zj_tzqu,然后SlidingMenuLib是一个资源项目,也就是说,在project.properties文件中是这样引入的:

android.library.reference.1=../SlidingMenuLib

5. 勾选 Force overriding of existing files

如果不选中,就有可能会出现上面的提示。当然,这是因为我之前尝试了好多次,所以已经在文件中有相应的Gradle的文件了,保险起见,直接覆盖掉原来的文件。

6. 点击Finish,然后就导出了。

第一步就算完成了,其实第一步基本上没有把你的原程序做一些语法的修改,只是多了一些Gradle的配置的文件,我把他们都截了出来,就是这几个:

第二步:修改Gradle配置文件

主要修改的就是上图中的两个红框标出来的。

1. gradle --> wrapper --> gradle-wrapper.properties 

可以看到我通过Eclipse导出来的版本号是1.12,那截止到2015年11月26日,最新的gradle版本是2.9、 1.12是14年12月份的版本,可见Google对Studio的厚爱,就像Apple 对Swift一样。。。

我就把这里改成了gradle-2.9-all.zip,当然你也可以改成官网上提供的任一一个版本(官网在此:https://services.gradle.org/distributions

2. build.gradle 

注意图中的红框内容是我改过的了。为什么改成1.3.0 因为我看了一眼我的Studio的hello world的工程的build.gradle文件,发现里面的gradle是1.3.0,所以就改成了一样的。我没有试验如果改成比如2.9.0这样的行不行。但是既然hello world可以正常运行,那就表示这样的配置是ok的。这也是为什么在开头的时候我建议大家先搭好Studio的环境,然后跑一下hello
world证实你的环境是OK的。

别看第2步很简单,但是其实这是很关键的一步,这里也要感谢下http://blog.csdn.net/bruce_6/article/details/42495705 这篇博主的文章,我也是在他的基础上自己摸索出来的~~

来最后一步,

第3步,导入Android Studio

把我们之前5个和Gradle相关的文件(夹),带上工程的两个文件夹(1.4步骤中选中的两个文件夹)一起拷贝出来,到一个新的文件夹下面。为什么要这样,1是Studio在导入的时候提示我们不要直接导入Eclipse workspace的工程;2是我的Studio是装在Mac上的,Eclipse是在Windows上面的 - -!

1. 我们选择Import project(Eclipse ADT, Gradle, etc.)

我之前在网上查的都是说要选择 Import Non-Android Studio project, 但是估计是Studio的版本不同,Studio 1.4 根本就没有这一项,但是看了一眼前几项也不是,然后注意这里面有Gradle关键字,所以就试一试吧。 

2. 选择build.grade 或者settings.gradle都可以,看到界面上面的提示了吧,我选择的是build.grade,就是我们上面改动过的文件。

3. 手动下载grade-2.9-all.zip

其实如果你的Studio环境没问题,就是会开始正常用gradle编译项目了,但是如果你第一次使用,那你一定会出现我的问题,就是Gradle sync的时候出错。原因当时就是我们亲爱的GFW了,即便是我翻墙通过Studio下载grande,速度也是慢的1B啊,所以这里我们可以自己下载gradle版本然后再放到相应的路径下面:

基本上网上都引用了这样一段话,为什么不推荐我们自己下载,因为其实Studio是在路径下面多了一个25位的标识码

在gradle-2.9-all的下面,其实是有一个文件夹的,这个文件夹会根据不同用户生成不同的,你们的肯定不会是我这个。

所以,最好的办法是先让Studio自动生成这个文件夹,也就是我们做完第2步之后,其实Studio已经在试图download我们设定的gradle版本,如果你去文件夹里面看,会发现有一个.zip.lck  和另外一个.zip.park的文件。但是一个是0k,一个是下载了一半的文件,如果没有翻墙,这个过程非常非常慢。

所以,我们看到这个路径已经建好了以后,就可以直接去官网上下载对应的版本了。注意,如果是Mac上,Safiri会自动把zip包解压缩了,如果你重新压缩Safiri下载的文件成zip放到路径下面,会出这样的““Error:Gradle distribution 'https://services.gradle.org/distributions/gradle-2.9-all.zip'
contains too many directories. Expected to find exactly 1 directory.””

所以,要不把safiri的自动解压功能关闭了,要不就换个浏览器下载,总之不要动下载下来的那个gradle-2.9-all.zip的包。

然后把这个包放到25位唯一码的文件夹下面。

重新试一下sync gradle,你就会发现,gradle开始build我们的工程了。之后就很顺利了,很快工程就建立好了。

到此,整个工程的导入就算全部完成了。

在附送两个小Tips:

1.  有的同学可能习惯了Eclipse的样式布局,初次接触Studio会发现work space区域很不习惯

这是系统默认的布局,那我们可以通过切换到Project模式来看,这样就和Eclipse的布局非常像了。

2. 如果你发现移植过来的代码中的注释内容全部都乱掉了,而且在Gradle初次编译的时候,你发现有很多错误提示: “编码 UTF8的不可映射字符”,但是我们的程序没有问题,是可以运行的,就是注释部分看不了。

很简单,在右下角

点击UTF-8 选择  GB2312  就ok了。

注意,可能是这部分的代码是你从第三方拿过来直接凑上去的,很容易出现编码上的问题,只需要改变这个文件的编码格式就可以了。不要动全局的设置。

好了,好好享受Android Studio带给大家极致版的Coding 体验吧~~~

时间: 2024-10-03 20:39:29

【Android】一步一步教你从Eclipse移植项目到Android Studio(1.4)的相关文章

一步一步教你把自己的站点信息向alexa提交

alexa排名已经很强大有威信,各级站长以及广告主更加关注它,网赚站长也不例外,经常会去查一下网站的排名变化.在查询排名的过程中,发现自己网站的"网站简介"是:该站点还没有向alexa提交任何介绍信息;http://www.aliyun.com/zixun/aggregation/32466.html">网站站长: 不详;联系邮箱: 不详等,可想而知,这会让每个认真做站的站长很郁闷.虽然alexa已经推出中文版,但提交或更新网站还需要在官方英文站点下进行,而且提交步骤与

一步一步教你加密解密技术——软件保护技术(1)(1)

第6章 软件保护技术第一节 常见保护技巧1.序列号方式(1)序列号保护机制数学算法一项都是密码加密的核心,但在一般的软件加密中,它似乎并不太为人们关心,因为大多数时候软件加密本身实现的都是一种编程的技巧.但近几年来随着序列号加密程序的普及,数学算法在软件加密中的比重似乎是越来越大了. 我们先来看看在网络上大行其道的序列号加密的工作原理.当用户从网络上下载某个shareware--共享软件后,一般都有使用时间上的限制,当过了共享软件的试用期后,你必须到这个软件的公司去注册后方能继续使用.注册过程一

一步一步教你加密解密技术——压缩与脱壳(1)(1)

压缩与脱壳第一节 PE文件格式PE教程1: PE文件格式一览PE 的意思就是 Portable Executable(可移植的执行体).它是 Win32环境自身所带的执行体文件格式.它的一些特性继承自 Unix的 Coff (common object file format)文件格式."portable executable"(可移植的执行体)意味着此文件格式是跨win32平台的 : 即使Windows运行在非Intel的CPU上,任何win32平台的PE装载器都能识别和使用该文件格

一步一步教你加密解密技术——动态分析技术(1)

第2章 动态分析技术第一节 SoftICE与TRW2000安装安装与配制SOFTICE有几个平台的版本,DOS,WINDOWS 3.0,Windows 95/98,WINDOWS NT,等. 由于现在最普及的操作系统是 Windows 95/98.Windows NT.Windows Millennium.Windows2000因此就讲讲SOFTICE在这几个平台安装时的一些注意事项.一.SOFTICE for win9x安装与配制㈠.SOFTICE安装 1.SOFTICE目前最新版本是4.05

一步一步详细地教你如何正确地提交ALEXA

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 谨以此篇献给千千万万的还没有向ALEXA提交任何介绍信息的站长.我刚接触站长这个职业,我的小站也是前天才上线,希望大家多支持. 目前ALEXA排名是比较热门的话题,大大小小的站长都对这个东西很关注,我也不例外,每天都会去查一下网站的排名变化, 不过在查ALEXA排名时,我经常去chinaz的站长工具那里查询,一是因为速度快,二呢,感觉他那里查

一步一步教你加密解密技术——压缩与脱壳(3)(1)

第四节 手动脱壳1.基本知识手动脱壳就是不 借助自动脱壳工具,而是用动态调试工具SOFTICE或TRW2000来脱壳.这课谈谈一些入门方面的知识,如要了解更深的脱壳知识,请参考<脱壳高级篇>这课.工具*调试器:SoftICE .TRW2000*内存抓取工具:Procdump等:*十六进制工具:Hiew.UltraEdit.Hex Workshop等:*PE编辑工具: Procdump.PEditor等:名词概念★PE文件:Microsoft设计了一种新的文件格式Portable Executa

一步一步教你加密解密技术——函数、资源与注册表(1)

第4章 函数.资源与注册表第一节 Win32 API 函数1.限制程序功能函数1.EnableMenuItem允许.禁止或变灰指定的菜单条目2.EnableWindow允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰) 2.对话框函数CreateDialog从资源模板建立一非模态对话窗CreateDialogParam 从资源模板建立一非模态对话窗CreateDialogIndirect 从内存模板建立一非模态对话窗CreateDialogIndirectParam从内存模板建立一非模态对

一步一步教你网站同步镜像(转载)_Mysql

1.介绍 现在的网站随着访问量的增加,单一服务器无法承担巨大的访问量,有没有什么方便快捷的方式解决这个问题呢,答案是"有"!比如建立服务器群,进行均衡负载. 但是如果要解决像电信网通这样的互访问题(中国网民的悲哀..),这个解决办法就无能为了了! 要解决这个问题最方便快捷的方式就是建立镜像网站!由访问者自己选择适合自己网络的速度最快的网站!这样即可以解决线路问题,又可以解决访问量问题! 2.网站同步的数据分类 网站数据基本分为两类: 一类是文件,比如HTML,ASP,PHP等网页文件,

一步一步教你加密解密技术——注册机和补丁制作(1)

注册机和补丁制作第一节 概念介绍 何为注册机?注册机就是针对某一软件,通过一定算法算出注册码的程序.我们写注册机时,一般都要了解注册码的算法(这当然是通过跟踪调试了解的),之后用汇编语言或其它 高级语言来把算法还原.这样大家可根据自己的要求输入注册码,如根据自己的姓名,公司的名称注册. 目前 共享软件有两种注册方式: 一 种是交费后,作者给寄有全部功能的 Register软件,原来的Shareware根本没有某些功能: 第二种交费后, 作者给你个注册码(RegisterNumber),注册后功能