Eclipse项目迁移AndroidStudio的两种方式

本文详细介绍了如何将Eclipse中的Android项目迁移到Android Studio,包括两种方法:使用导入向导和手动设置Gradle脚本。导入向导能自动重构项目,而手动设置允许保留原有项目结构。在转换过程中,需要注意文件夹结构调整、依赖管理以及Gradle脚本的配置。同时,文章提供了详细的步骤和配置示例,帮助开发者顺利完成迁移。
摘要由CSDN通过智能技术生成

Eclipse项目迁移到 AndroidStudio

方式:
1.使用AndroidStudio导入向导,自动进行迁移处理
2.在Eclipse项目中添加Gradle脚本,并手动设置一切

1.导入向导方式:

AndroidStudio可以自动的导入Eclipse项目:
File——->close project 回到Studio桌面——> import project即可 导入工具会帮你自动重构项目

在根目录会自动生成一个import-summary.txt文件 里面展示了项目重构所发生的一些事 比如:文件夾的位置改变 比如:将之前的
依赖jar包更换成了gradle依赖方式

<span style="color:#333333"><span style="background-color:#f5f5f5"><code>ECLIPSE ANDROID PROJECT IMPORT SUMMARY
======================================

Ignored Files:
--------------
The following files were *not* copied into the new Gradle project; you
should evaluate whether these are still needed in your project and if
so manually move them:

* ic_launcher-web.png
* proguard-project.txt

Replaced Jars with Dependencies:
--------------------------------
The importer recognized the following .jar files as third party
libraries and replaced them with Gradle dependencies instead. This has
the advantage that more explicit version information is known, and the
libraries can be updated automatically. However, it is possible that
the .jar file in your project was of an older version than the
dependency we picked, which could render the project not compileable.
You can disable the jar replacement in the import wizard and try again:

android-support-v4.jar => com.android.support:support-v4:20.0.0

Moved Files:
------------
Android Gradle projects use a different directory structure than ADT
Eclipse projects. Here's how the projects were restructured:

* AndroidManifest.xml => app\src\main\AndroidManifest.xml
* assets\ => app\src\main\assets
* res\ => app\src\main\res\
* src\ => app\src\main\java\

Next Steps:
-----------
You can now build the project. The Gradle project needs network
connectivity to download dependencies.

Bugs:
-----
If for some reason your project does not build, and you determine that
it is due to a bug or limitation of the Eclipse to Gradle importer,
please file a bug at http://b.android.com with category
Component-Tools.

(This import summary is for your information only, and can be deleted
after import once you are satisfied with the results.)</code></span></span>
  • 1

注意:在项目构建过程中可能需要网络去下载一些必要的依赖

2.手动导入方式:

手动导入的方式有许多种 ,不需要更改为新的目录结构,甚至可以在gradle脚本上运行ant脚本

1.保留旧的项目结构
可以保留旧的项目结构不变,但是需要更改一下源集的配置(比如Studio工程的代码源集在app/main/java下 但是Eclipse在 src中
所以需要更改源集的配置)

第一步:在项目的根目录下新建builder.gradle文件 在其中申请Android插件,并设置Gradle和Android插件的属性:

<span style="color:#333333"><span style="background-color:#f5f5f5"><code>     buildscript{

                repositories{
                  jcenter()
                }

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

     apply plugin: 'com.android.application'

                android {
                 /**
 * 编译版本的sdk 一般使用最新的Android api版本作为编译版本
 */
                  compileSdkVersion 24
                  buildToolsVersion "25.0.0"
                }</code></span></span>
  • 1

第二步:修改源集按照Eclipse的项目结构来复写main源集的示例如下:

需要告诉gradle 所有的组建都应该放在src文件夹下 也可以将他们都放进去

<span style="color:#333333"><span style="background-color:#f5f5f5"><code>       android{
               sourceSets{
                  main{
                   manifest.srcFile 'AndroidManifest.xml'
                   java.srcDirs=['src']
                   resources.srcDirs=['src']
                   aidl.srcDirs=['src']
                   renderscript.srcDirs=['src']
                   res.srcDirs=['res']
                   assets.srcDirs=['assets']
                 }
                 androidTest.setRoot('tests')
               }

        }</code></span></span>
  • 1

如果你的项目中存在jar文件依赖,则需要告诉gradle的文件依赖路径,假设jar文件在libs中,那么需要添加一下配置
将libs文件夹下的 所有 以,jar结尾的文件视为一个依赖

<span style="color:#333333"><span style="background-color:#f5f5f5"><code> dependencies{
      compile fileTree(dir:'libs',include:['*.jar'])
 }
</code></span></span>
  • 1

这样 项目旧可以进行运行 并且可以将libs中的jar包进行替换 替换成maven依赖

2.转换到新的项目结构

如果需要导入AndroidSudio 并且转换下古墓结构,那你就必须新建一些文件夹并且移动一些文件 下面有一个对照表
可以看到文件”何去何从”

        旧的位置                                 新的位置
         src/                                 app/src/main/java/
         res/                                 app/src/main/res/
         assets/                              app/src/main/assets
         AndroidManifest.xml                  app/src/mai/AndroidManifest.xml

如果你存在测试单元模块 还需要将测试的源代码移动到 app/src/test/java/下,以遍让gradle对其进行识别,功能测试则需要放到
app/src/androidTest/java/下

接下来需要在工程的根目录下面创建 settings.gradle,给文件用来告诉Gradle将app模块包含到构建中去
include ‘:app’

需要创建两个build.gradle文件 第一个用于项目根目录 与 settings.gradle平齐 用来定义项目级的参数设置:

<span style="color:#333333"><span style="background-color:#f5f5f5"><code>            buildscript{

 repositories{
 jcenter()
 }
                    dependencies{
 classpath 'com.android.tools.build:gradle:2.2.2'
 }

             }</code></span></span>
  • 1

第二个build.gradle文件存在于 app目录下,包含了特定模块的参数设置

<span style="color:#333333"><span style="background-color:#f5f5f5"><code>     apply plugin: 'com.android.application'

                 android {
                      /**
 * 编译版本的sdk 一般使用最新的Android api版本作为编译版本
 */
                      compileSdkVersion 24
                      buildToolsVersion "25.0.0"
                 }</code></span></span>
  • 1

如果 app模块存在依赖 则需要进行依赖添加

<span style="color:#333333"><span style="background-color:#f5f5f5"><code>                  dependencies{
                      compile fileTree(dir:'libs',include:['*.jar'])
                      //声明所需要添加的依赖
                      compile 'XXXXXXX'
                  }</code></span></span>
  • 1

原Eclipse自动生成的 gen bin目录可以进行删除

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是你的春哥!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值