前言:这种问题当然在所难免,所幸android studio的project 工程目录远比 Eclipse 要了然。

目录对比

我们在Eclipse中创建一个EclipseDemo的Android项目,在Android Studio中创建一个 My Application 的 Android项目,里面的Module命名为app.

IDE Eclipse Android Studio
管理器目录
文件目录

  看的出来这两种IDE组织代码的方式是不一致的,eclipse 中有一个workspace的概念,所谓工作目录,目录下就是一个个的project,但是project之间的代码是可以复用的,比如android library的使用。程序员通过IDE来配置依赖关系。在project中,每一个文件夹的作用也是固定的,不能配置。在android studio中,没有workspace的概念,直接就是project的目录,project 下有各个Module,project负责组织module目录和编译环境(settings.gradle和build.gradle),module则负责自己的编译配置(本目录下的build.gradle),如:源码路径,编译工具版本等等,相对eclipse更加灵活,而且都有gradle配置文件支持,可读性十分的好。

  看得出来Eclipse 和 AS(打字太烦)的源码路径是不一样的,不过想想我们上一篇的BaseExtension.groovy把,改改配置就OK了,就不要移动文件夹了。

第一步:在eclipse的工程目录中添加build.gradle

  我们把我们的My Application中的 app 的build.gradle拷贝到EclipseDemo目录就可以了,增加 源码路径配置

apply plugin: 'com.android.application'

android {
compileSdkVersion 21
buildToolsVersion "21.1.1" defaultConfig {
applicationId "suning.com.myapplication"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
} buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
//添加eclipse源码路径
sourceSets {
main {
manifest {
srcFile 'AndroidManifest.xml'
}
java {
srcDir 'src'
}
res {
srcDir 'res'
}
assets {
srcDir 'assets'
}
resources {
srcDir 'src'
}
aidl {
srcDir 'src'
}
}
} } dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}

如果你迁移的是android library,那么第一行的要改成:

apply plugin: 'com.android.library'

  而且不能加 applicationId "suning.com.myapplication",要去掉。

第二步:修改My Application 的Setting.gradle

这个Setting.gradle在第二篇中已经说过了,可以增加Project 的依赖配置,现在我们只要加一个Module就可以了

include ':app',':EclipseDemo'

重启 Android Studio 就可以了。

假设在项目的文件结构是这样的:一个统一的workspace目录下,有一个android studio项目 project,一个module 目录 app2 和他平行。在project的目录下,有一个目录library,里面一个android library的module lib1。

|-----workspace

  |-----app2

  |-----project

      |-----app1

      |-----library

            |--lib1

      |-----setting.properties

      |-----build.gradle

配置如下:

include ':app1',':app2',':lib1'
project(':app2').projectDir = new File(settingsDir, '../app2')
project(':lib1').projectDir = new File(settingsDir, '/library/lib1')

  

总结下各个配置文件:

主project文件夹中:

  Settings.gradle:负责配置这个project在android Studio中到底需要显示几个Module,各个Module的实际的文件路径。

  build.gradle:负责配置这个project使用gradle的版本和maven库等,主要是配置整个编译环境。

  local.properties:负责配置这个project本地sdk和ndk的位置。这个与eclipse是一致的。

  gradle.properties:负责配置代理等。

每个Module文件夹中:

  build.gradle:负责这个Module的各个编译配置,如SDK,和BuildTool的版本,以及各个源码的位置。如果不配置各个源码的位置,那么就要按照默认的位置存放。

后记:

1.gradle.properties 中配置代理配置代理:

systemProp.http.proxyHost=10.19.110.31
systemProp.http.proxyPort=8080 systemProp.https.proxyHost=10.19.110.31
systemProp.https.proxyPort=8080 #systemProp.http.proxyUser=User
#systemProp.http.proxyPassword=password
#systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost

  

  

第四篇:Eclipse Android app 工程迁移到 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. Eclipse 工程迁移到 Android Studio

    目标:迁移成功,并成功正常运行! 附加:同步视频在文章后面! 两种方式: 1. 用Gradle导出,在Android Studio中用Gradle导入 (不推荐) 2. 用Android Studio ...

  6. Android app中的so库和CPU架构

    一.android目前有几种cpu架构? 早期的Android系统几乎只支持ARMv5的CPU架构,目前支持七种CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MI ...

  7. How To Use Proguard in Android APP

    在Android开发完成即将发布给用户使用时,还有最后重要的一步:代码混淆,这时候,Proguard就派上用场了,大家谁也不想辛辛苦苦写的代码太容易被别人反编译过来,而Proguard就是帮我们实现这 ...

  8. android.app.Activity 的介绍

    发现当前Android的资料不是非常多,并且对于Activity的介绍也非常少.所以把官方文档的android.app.Activity的介绍翻译了一下,增加了一些自己的理解.各位假设认为我自己理解的 ...

  9. (通用)Android App代码混淆终极解决方案【转】

    App虽然没有那么的高大上,但是代码的混淆是代表了程序员对App的责任心, 也是对App安全的一点点保证.今天我会将自己做Android混淆的过程和体会分享给大家,也避免大家少走弯路,少跳坑. 本篇博 ...

随机推荐

  1. spring--AOP2--6

    AOP 之 6.6 通知参数 前边章节已经介绍了声明通知,但如果想获取被被通知方法参数并传递给通知方法,该如何实现呢?接下来我们将介绍两种获取通知参数的方式. 使用JoinPoint获取:Spring ...

  2. 【转载】CentOS LVM磁盘扩容

    转自:http://blog.sina.com.cn/s/blog_8882a6260101cpfs.html EXSI5.1主机有一个linux虚拟机,系统是centos运行httpd服务,因为是多 ...

  3. jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。

    jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...

  4. jquery,javascript常用

    1.jquery ajax应用 ajax方式 $.ajax({ url: 'stat.php', type: 'POST', data:{Name:"keyun"}, dataTy ...

  5. Codeforces13C–Sequence(区间DP)

    题目大意 给定一个含有N个数的序列,要求你对一些数减掉或者加上某个值,使得序列变为非递减的,问你加减的值的总和最少是多少? 题解 一个很显然的结果就是,变化后的每一个值肯定是等于原来序列的某个值,因为 ...

  6. ios中view的生命周期

  7. glance image cache

    The Glance Image Cache The Glance API server may be configured to have an optional local image cache ...

  8. 问题-[WIN8.132位系统]安装Win8.1 遇到无法升级.NET Framework 3.5.1

    问题现象:安装Win8后都遇到了无法升级.NET Framework 3.5.1的问题,在线升级会遇到错误0x800F0906.这使得91手机助手等很多软件无法运行,更郁闷的是,网上几乎所有的解决办法 ...

  9. 怎样做出通用的pos小票打印程序

    POS小票打印机分为热敏和针式俩种. 打印纸的宽度分为58毫米.76毫米和80毫米三种. 打印接口分为:串口.并口.USB和网口(以太网). 热敏打印机速度较快,打印的时候噪音少,针打可以使用多联纸自 ...

  10. freemaker分页模板

    <link href="${base}/res/pra/css/style.css" rel="stylesheet" type="text/c ...