热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

eclipse项目导入到AndroidStudio中

方法一:不推荐,这种方法导出的gradle往往版本比较低,跟AS的不一致,可能会造成AS打开工程时,需要联网下

   方法一:不推荐,这种方法导出的gradle往往版本比较低,跟AS的不一致,可能会造成AS打开工程时,需要联网下载Gradle相关文件,而且工程目录结构也是比较乱,不是AS风格的。

Google已经停止了对eclipse插件adt的更新,Android开发者是时候该从eclipse切换到Android Studio了。其实把eclipse项目导入到Android Studio中并不复杂。

第一步:eclipse导出gradle项目。

File->Export->Generate Gradle build files然后一直下一步,选择你要导出的项目(不用管依赖项目,会自动导出的),如图:

 将Eclipse代码导入到AndroidStudio的两种方式

到这里,你的应用其实已经可以通过AndroidStudio正常编译,你也可以写代码去了。
但我希望你还能继续看下去,因为这个成功后弹出来的import-summary.txt写了些很重要的东西。

带你看懂import-summary.txt


Manifest Merging


Your project uses libraries that provide manifests, and your Eclipse
project did not explicitly turn on manifest merging. In Android Gradle
projects, manifests are always merged (meaning that contents from your
libraries' manifests will be merged into the app manifest. If you had
manually copied contents from library manifests into your app manifest
you may need to remove these for the app to build correctly.

这段应该都能看懂,无非就是说你Library的清单文件有效啦。
不用手工拷贝到主工程的清单文件中了。以前拷贝过的,要移除才能正确build。

Ignored Files(这个最重要)

之所以说这部分重要,是因为AndroidStudio通过这段文字告诉了你,它导入的时候忽略了哪些文件。
也就是说这部分内容,它没给你拷进来,你要是不去自己拷贝,那这部分你新Gradle工程里面就没有了。
这里选一些典型的ignore文件来看一下:

From SDK:* proguard-project.txt* proguard.cfg
From UI:* cert\* cert\cert
From CrosswalkWebview:* ant.properties* build.xml
From SlidingMenuLibrary:* LICENSE.txt* pom.xml

给上面的忽略文件分分类:

  • 确实不需要的:混淆文件、ant的ant.properties与build.xml、maven的pom.xml。
  • 需要再次声明的: LICENSE.txt。不声明属于盗版侵权啊~~
  • 自定义文件夹和文件:cert。 这个文件夹是自己创建的,不属于Android规定的目录,所以AndroidStudio没给拷贝。

需要留意你的Ignored Files部分,并根据自己的需要手工拷贝到新工程中。

Replaced Jars with Dependencies & Replaced Libraries with Dependencies

在Replaced Jars with Dependencies部分,有如下文字:

android-support-v4.jar => com.android.support:support-v4:21.0.3
gson-2.3.jar => com.google.code.gson:gson:2.3
joda-time-2.6.jar => joda-time:joda-time:2.6

可以看到jar被替换了。 可以看到工程里面没有了当初添加的jar包。那么jar包去哪了呢?
暂时先留个悬念。
我们继续来看 Replaced Libraries with Dependencies部分

ActionbarLibrary =>com.actionbarsherlock:actionbarsherlock:4.4.0@aarcom.android.support:support-v4:21.0.3

可以看到ActionbarSherlock被替代为了aar(Android ARchive ,jar : Java ARchive)。关于aar的介绍可以看这里,本文就不再详细展开了。

可以看到的是Library和jar都被替换了,可是你在当前工程里再也找不到了。这是为什么?

跟我来看下面的操作:

  • 在Module上右击,选择Open Module Settings
     将Eclipse代码导入到AndroidStudio的两种方式
  • 切换到Dependencies
     将Eclipse代码导入到AndroidStudio的两种方式
  • 点击右侧的加号添加,选择Library dependency
     将Eclipse代码导入到AndroidStudio的两种方式
  • 可以看到这个界面:
     将Eclipse代码导入到AndroidStudio的两种方式

OK,到这里就可以知道真相了,在AndroidStudio中你可以添加在线的库或jar包,添加完成后你就可以和平时一样正常使用。
而你的同事在打开这个工程的时候会即时下载,保证你们的代码都能正常运行。
这也是为什么当你的工程转换完毕后,有些jar和Library消失的原因。他们被转成在线的了。

Moved Files

这部分在讲你的目录结构变化,基本上可以认为他在废话,没什么看的必要了。

Next Steps & Bugs

呵呵,略过吧

最后一句


This import summary is for your information only, and can be deleted
after import once you are satisfied with the results.

你一旦觉得自己的工程没问题了,就可以把这个文件删除了。

导入AndroidStudio工程注意

通过上面的步骤,你的项目已经转换了目录结构,这时候你可以提交代码,供其他同事下载使用了。
其他同事把代码下载下来,他们所需要引入的是一个Android Gradle Project了。

  • 新用户

    • 如果项目中有.idea之类的IntelliJ的文件,开始选择的应该是Open an existing Android Studio project,而不是Import Non-Android Studio project。
    • 如果你下载下来的代码里面只有gradle的文件,即使还是要选Import Non-Android Studio project。
  • 老用户依然使用: File-->Import Project

这里需要提醒的是,对于含有库工程的项目而言, 需要指定整个项目的目录,仅仅指定主工程是没用的。

到这里我们需要停下来总结一下:

  • 如果你导入的是一个Eclipse工程,那么指定主工程目录。AndroidStudio通过分析来帮你完成转换。
  • 如果你导入的是一个AndroidStudio工程,那么指定整个项目的目录 。

附: 如何更改Module名称

在Module上右键refactor--> rename ,当然可以看到有快捷键shift + F6, 这样就可以改变Module的名称了。
但是还没有结束,这样没有更改引用这个Module的地方。
如果他是一个库工程,你还需要继续去查看引用它的地方并进行修改。主要是其他Module的Gradle文件。

Tips:
选中Module,ctrl+c即可复制工程名,在相关Gradle文件中ctrl+v替换成新的名称即可。

最后,别忘了,settings.gradle,这里include的module名称也需要更改。 至此,算是修改结束。

一切修改完毕,点击弹出提示中的Sync Now,让工程重新构建
 将Eclipse代码导入到AndroidStudio的两种方式
构建结束后就一切正常了。
当然你如果对文件夹的名称也看着不顺眼,也可以去修改文件夹名称,改变后记得重新导入即可。

总结

以上就是两种导入的方式的介绍,总体来说第一种适合无奈的时候提前熟悉AndroidStudio,第二种则是更推荐的方式。
无论采用哪一种,都希望你能尽快的接触AndroidStudio,体验它的强大。









推荐阅读
  • vue使用
    关键词: ... [详细]
  • 本文介绍了如何使用vue-awesome-swiper组件,包括在main.js中引入和使用swiper和swiperSlide组件,以及设置options和ref属性。同时还介绍了如何在模板中使用swiper和swiperSlide组件,并展示了如何通过循环渲染swipes数组中的数据,并使用picUrl属性显示图片。最后还介绍了如何添加分页器。 ... [详细]
  • 本文介绍了如何使用elementui分页组件进行分页功能的改写,只需一行代码即可调用。通过封装分页组件,避免在每个页面都写跳转请求的重复代码。详细的代码示例和使用方法在正文中给出。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 怀疑是每次都在新建文件,具体代码如下 ... [详细]
  • 标题: ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • 前段时间做一个项目,需求是对每个视频添加预览图,这个问题最终选择方案是:用canvas.toDataYRL();来做转换获取视频的一个截图,添加到页面中,达到自动添加预览图的目的。 ... [详细]
  • 在加载一个第三方厂商的dll文件时,提示“找不到指定模块,加载失败”。由于缺乏必要的技术支持,百思不得期间。后来发现一个有用的工具 ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
author-avatar
雪中磐石
人生只有走出来的美丽,没有等出来的辉煌。
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有