前言:

本来很久之前想弄这玩意,不过因为各种原因,所以没弄。

今天有位前辈提出需求。说想让Eclipse的Android项目逐步走向Android Studio,但是又担心Android Studio一时三刻适应不过来。

说能不能不改变源代码的主要工作目录(在Eclipse的android project root/的 src、res、lib、AndroidManifest.xml四个目录)来在Android Studio上开发呢?

大前提:

我当看到这篇博客的看官已经对Android Studio有足够熟悉

(怎么才算足够熟悉呢?)

1.起码你的Android Studio已经能运行起来。而不是像其他的同学说。我的Android Studio一直跑不起来。

2.知道Android的构建工具是Gradle是什么玩意?起码你环境(命令行CMD)上敲入gradle -v 能见到你的Gradle version

3.知道Android Studio的Project相当于Eclipse的Workspaces ,Module 相当于Eclipse的project

4.知道Android Studio的Android Module root目录分布 (build,libs,src以及build.gradle文件),以及里面都是些什么东西。

开始正文吧:

如果已经投向Android Studio的同学大可以不看这篇玩意。因为你们已经很熟悉Android Studio了。

1.如上题目。Eclipse与Android Studio这两个IDE的Android项目因为工作目录不相同,所以不能很好的兼容开发。

如果看了某些文章的话。(http://www.tuicool.com/articles/2q6fMr),

知道Android project 打包方式 (Eclipse使用Ant,Android studio 是用Gradle)

那既然他们本来不一样的打包方式,怎么切换IDE来进行开发呢?

2.我们知道Google 为了让更多的Android开发者的IDE从Eclipse 转去Android Studio。就有一个操作。就是能直接把导入Eclipse的Android project

看到这里。同学说。你这是废话嘛?下面还要继续看不?

虽然可以直接导入项目,但是导入进去后,发现项目在Android Studio的工作目录已经发生翻天覆地的变化了。(其实就是变成了Android studio的项目而已)

3.正因为有上面两点,所以本文才有需求出现。

(其实本文工作原理很简单的。就是为了适应在Android studio上运行而改变一下Gradle的脚本,至于Gradle的脚本怎么写。下面会提到。)

准备工作:

1.新建好一个能运行的(HelloWorld) 的Android 项目。

2.右击该死的项目导出

我假如你只打开一个项目。后面的步骤就一直Next就好了。

3.为了明显表现多了哪些文件。所以就用SVN的项目来做Demo。

如图的多出的文件(build.gradle,gradlew,gradlew.bat)与及文件夹(gradle)

其中只有build.gradle和文件夹(gradle/wrapper)中的gradle-wrapper.properties有用。

(别急着删除其余的,其他你只是不用修改他而已,不是让你删除它。

(gradlew,gradlew.bat 这两玩意是给 玩 “命令行” 的人用的。至于你用哪一个呢?就看你哪个系统了。

后话:我一开始都感觉这两玩意是没有用的。

(因为我配置Gradle在环境了。一直用着gradle命令。没有用gradlew,这个后面带有w的gradlew)

其实这个gradlew是你当前项目中的gradle命令。

如果你执行gradle编译这个项目。很可能遇到这样的话

[

Gradle version 1.10 is required. //你当前项目需要用的版本
Current version is 2.3. //你环境用的gradle版本
If using the gradle wrapper,
try editing the distributionUrl in %项目目录%\gradle\wrapper\gradle-wrapper.properties to gradle-1.10-all.zip

]

或者某些无聊的问题。

))

所以如果你不想出错的话。一般就用gradlew.bat来操作吧。毕竟别人项目指定这个版本。

gradle-wrapper.properties 这个文件说有用,也可以,说没有用,也可以

(这个文件控制你用哪一个版本的Gradle来构建项目,

因为某些原因(也跟人品有关系的),突然就用不了,

人品好时就不用换就能用了。

人品不好就需要你更换一下版本号。

至于版本号,你第一次用的话,就只能上去https://services.gradle.org/distributions/这里找一下。(这个是标配的网址),

有些时候慢得可怜。你大可以上官网下载。https://gradle.org/downloads/,下好再丢到相应版本号文件下面就好。

还有其他方法的。不过本人比较懒。而且公司网络是HK的。所以很快就下载好了。

)

build.gradle 只是把你的Eclipse的信息翻译在这个配置文件(这玩意就是你在Android studio打包用的)

4.现在你的项目已经整合了Gradle了。现在只能试试能用不。

我本人Eclipse已经装了StartExplorer 这个插件,所以直接在这个项目下打开CMD,敲入gradle -gui(这个是gradle 源生图形化工具)

然后你就见到基于你那个build.gradle的所有命令了

(我当时人品不好又遇到这个问题,至于解决方案,上面讲了。自己看看上面吧。)

5.我假设你已经在刚才的Gradle图形化工具执行(gradle installBug或者 gradle iB(驼峰命令。你懂的))成功。

那我们就转移去Android Studio中导入我们这个项目。

这点是有要求的。

一般我们导入项目。就是傻乎乎的导入项目的目录

如果这样导入的话。Android Studio就当你的项目是Eclipse项目导入进来(只是不帮你变化项目目录结构),不过Android Studio只识别一个build.gradle文件。

这是你如果是一个刚刚使用Android studio的同学。 这回你惨了。你肯定花上不止一两个小时。解决这样的问题。(心里有千万只草泥马跑过,在埋怨Android studio的开发者)

正确的做法是在导入时,点击你的刚刚在Eclipse导出的build.gradle文件来导入到Android Studio。

这时。同学们就看到你的Eclipse的项目在Android studio这个IDE了。

6.这时看到清楚一点的同学。发现怎么与Eclipse的目录不一样呢?

其实实际上目录上没有发生改变。只是。你的项目还有问题!

这个问题在下面的 0:Message 一般错误都在这里显示的。

看到上面两张图都有一个共同的错误吧,因为你当前Android studio使用依赖包是 1.2.3

而你的build.gradle文件依赖着还是下面这句

  dependencies {
  classpath 'com.android.tools.build:gradle:0.12.+'
  }

所以你先把你的 classpath 'com.android.tools.build:gradle:0.12.+' 改为 classpath 'com.android.tools.build:gradle:1.2.3'

这是你再保存。按一下 "Ctrl + F9" 运行一下项目。

这时又出现一个错误了。(这里我黏贴一下吧。因为很多人遇到这个错误)

Error:Unable to load class 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'.
Possible causes for this unexpected error include:<ul><li>Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
<a href="syncProject">Re-download dependencies and sync project (requires network)</a></li><li>The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
<a href="stopGradleDaemons">Stop Gradle build processes (requires restart)</a></li></ul>In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

解决办法就是:就是把你的gradle-wrapper.properties换一下。换一个高级一点的Gradle Version. 这个然后在编译一下,这时奇迹出现了。

你的Android Studio 项目目录居然变成Eclipse那样,这时,如果没有什么意外。就可以直接点击那个三角符号。运行项目了。

(虽然在项目工作根目录中多了不少的文件,不过那些文件不影响项目的开发和打包,所以来说,算可以跨IDE开发了)

本文就说到这里吧。去吧。骚年。好好体验Android studio吧。

关于Eclipse如何加入Gradle文件与Android Studio两个平台一起开发,工作目录不发生变化的更多相关文章

  1. 如何将Eclipse中的项目迁移到Android Studio 中

    如何将Eclipse中的项目迁移到Android Studio 中 如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的 ...

  2. [转]-如何将Eclipse中的项目迁移到Android Studio 中

    英文地址:http://developer.android.com/sdk/installing/migrate.html 翻译:Android Studio 中文组(大锤译) 如果你之前有用Ecli ...

  3. studio--如何将Eclipse中的项目迁移到Android Studio 中

    如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的是生成Build Gradle的文件.因为Android Studi ...

  4. 如何将Eclipse中的项目迁移到Android Studio中

    如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的是生成Build Gradle的文件.因为Android Studi ...

  5. Android开发学习1----AndroidStudio的安装、创建第一个Android Studio文件、Android Studio界面介绍和HelloWord!

    移动开发的工具有很多:Android Studio,eclipse,Hbuilder等,其中,现如今最火的开发工具是Android Studio,Android Studio是谷歌自己推出的一款集成开 ...

  6. 安卓工作室 文件浏览器 android studio File browser

    安卓工作室 文件浏览器 android studio  File browser 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: ...

  7. Introducing Gradle (Ep 2, Android Studio)

    https://www.youtube.com/watch?v=cD7NPxuuXYY    Introducing Gradle (Ep 2, Android Studio) https://www ...

  8. Android零基础入门第13节:Android Studio配置优化,打造开发利器

    原文:Android零基础入门第13节:Android Studio配置优化,打造开发利器 是不是很多同学已经有烦恼出现了?电脑配置已经很高了,但是每次运行Android程序的时候就很卡,而且每次安装 ...

  9. Eclipse混淆文件导入Android Studio Gradle编译报input jar file is specified twice

    Eclipse项目中的混淆配置文件 复制到AS中 在混淆的过程中提示如下错误     Error:Execution failed for task ':app:proguardDemoRelease ...

随机推荐

  1. oracle-sakila-db sakila的Oracle版本

    在Sakila——MySQL样例数据库解析 中,学习了sakila for mysql的表结构.并把它作为数据仓库.ODI ETL学习的源数据库.ODI Studio拓扑结构的创建与配置 后来发现OD ...

  2. Java DES 加解密("DES/ECB/PKCS1Padding")

    private static final Cipher DES_CIPHER; static { try { DES_CIPHER = Cipher.getInstance("DES/ECB ...

  3. 小结java自带的跟锁相关的一些类

    java.util.concurrent包下的一些跟锁相关的类列表  类  简介 locks.Lock接口 Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作.此 ...

  4. 删数问题(NOI94)

    删数问题(NOI94) 输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数.编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小.输出新的正整数.(N不超 ...

  5. weblogic服务目录迁移记录

    weblogic服务,由于前期的规划不好,导致后期有点问题!为了更加规范运行服务及执行相关操作,故进行服务迁移... 先决条件:weblogic都是单个aminserver运行的,单个服务 问题解决: ...

  6. 大量原创视频教程分享(01)---XSL语法教程

    首先,感谢博客园给这个平台来发布这些教程.. 这些教程都是本人亲自录制的,时间主要是2012-2014年,大概有几十部这么多,可能有说的不对的地方,如果可以,感谢你的指正 本人也不想误人子弟,大部分教 ...

  7. eclipse 找类的jar包方便工具

    经常在开发过程,因为使用到比较多的类库(jar文件),在开发时经常会找不到需要的类文件存放在哪个jar文件中,这时classlocator这个插件就带我们带来极大的方便,可以帮我很快速的找到我们需要的 ...

  8. Ubuntu登录Windows Server 2008r2 密码总是错误与NLA验证

    日期:2013-05-22   经过一天的折腾,终于能够用Ubuntu登录Windows server 2008 R2 了. 寝室里面用小本子,装的ubuntu,实验室的服务器是win server0 ...

  9. Windows下SVN备份脚本

    本站备份:svn备份与还原_脚本_(dump命令) 以下是转载记录, 转自:https://wuxiaobai.win/archives/111 用法 svnadmin dump REPOS_PATH ...

  10. @Transient注解的使用

    转自:https://blog.csdn.net/sinat_29581293/article/details/51810805 java 的transient关键字的作用是需要实现Serilizab ...