eclipse到Android Studio的项目迁移

eclipse到Android Studio的项目迁移

标签: android项目迁移android studioeclipse

2015-08-21 14:18 629人阅读 评论(0) 收藏 举报

分类:

Android(31) 工具(14)

版权声明:本文为博主原创文章,未经博主允许不得转载。

目录(?)[+]

一直以来,公司开发都是用eclipse,但是随着我们应用不断成长,项目结构越来越庞大,项目间依赖关系变得很复杂,用eclipse管理显得非常吃力,经常一个同事更改依赖项目之后,别人在更新,都会出现问题,因为这些事情浪费很多时间。最终决定迁移到Android Studio。但是迁移的过程中还是遇到了很多问题,通过这篇博客,把迁移过程中遇到的问题,以及每个问题的解决方案,记录一下,也希望能帮助到有同样需求的同学。

这里就不详细介绍从eclipse导入到Android Studio的过程了。

1.乱码

用eclipse开发时编码用的是GBK,而android studio中使用的是UTF-8,所以在build的时候,项目中的温度符号,以及一些中文注释就会出现乱码。

解决方案

统一编码,我们把编码都改成UTF-8. Android studio通过如下方式改项目和文件的编码:

[html] view plain copy print?

  1. File -> Other Settings -> Default Settings -> 搜索File Encodings ->改三个地方的编码(IDE Encoding,Project Encoding,Default encoding for properties files)  

2. 重复图片

我们有一个Library是从主项目中抽取出来的,抽取的过程中很多图片从主项目中copy出来之后,忘记删除了,导入到Android studio之后,build的过程就会出错,不过错误信息中有提示重复的文件,我们只需要根据提示把不用的图片删掉。

3. Unable to execute dex: method ID not in [0, 0xffff]: 65536

对于这个问题,google官方给出了解释,http://developer.android.com/tools/building/multidex.html,大概意思就是:当你的应用以及应用依赖的library达到一定的Size之后,在build的时候就会提示这个错误,说明你的应用已经达到了Android app构建架构的限制大小。android虚拟机限制了每一个DEX文件能够引用的method的个数为65536, 它包括Android Framework,Library,以及自己项目中的methods总和。

解决方案

给我们的应用生成多个DEX文件,需要在build.gradle,文件中配置:

[html] view plain copy print?

  1. android {  
  2.    defaultConfig {  
  3.       ...  
  4.       multiDexEnabled = true  
  5.    }  
  6. }  

另外,还要使用MultiDexApplication类,如果你的应用中已经有Application类,需要让它继承自MultiDexApplication,再实现attachBaseContext方法,代码如下:

[java] view plain copy print?

  1. protected void attachBaseContext(Context base) {  
  2. super.attachBaseContext(base);  
  3. MultiDex.install(this);  
  4. }  

4. OutOfMemoryError: GC overhead limit exceeded

在build.gradle文件中做如下配置:

[html] view plain copy print?

  1. android {  
  2. ...  
  3. dexOptions {  
  4.         incremental true  
  5.         javaMaxHeapSize "4g"  
  6.     }  
  7. }  

5. java.util.zip.ZipException: duplicate entry during packageAllDebugClassesForMultiDex

报错信息如下:

[html] view plain copy print?

  1. Error:Execution failed for task ':ezweather_original:packageAllDebugClassesForMultiDex'.  
  2. > java.util.zip.ZipException: duplicate entry: android/support/annotation/ColorRes.class  

解决方案,在build.gradle中添加如下配置:

[html] view plain copy print?

  1. configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }  

这时候app终于能运行起来了...

时间: 2025-01-01 12:44:29

eclipse到Android Studio的项目迁移的相关文章

Android Studio(七):项目从Eclipse到Android Studio迁移

Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Android Studio编码 Android Studio(四):Android Studio集成Genymotion Android Studio(五):修改Android Studio项目包名 Android Studio(六):Android Studio添加注释模板 Android Studio

android studio运行项目时出现这个异常怎么解决??

问题描述 android studio运行项目时出现这个异常怎么解决?? 解决方案 android studio检查严格了,你的有张图片后缀名是png的但是你图片格式不是png的,你把它找出来改后缀名就行了,看他格式可以在as里打开图片,右上角会显示图片的真实格式,与后缀名不符的都改了 解决方案二: 问题:在运行android的项目时出现的异常 The connection to adb is down, and a severe error has occured. [2010-03-11 0

android studio 问题-android studio 写项目问题

问题描述 android studio 写项目问题 各位大神AS的项目包名命名格式是怎么样的 头一次用AS 求图 解决方案 Android Studio导入项目的问题Android Studio 编码设置,解决Android Studio项目运行时乱码问题用android studio导入项目的常见问题 解决方案二: 写包名按正常公司网址写就可以,项目创建后会自动变为和eclipse一样的倒序 解决方案三: 一般别用中文,就是字母和数字(别数字开头),有公司就写公司名倒着.

总结Android Studio导入项目的几种方法

本篇教程中使用到的Android Studio版本为1.0, Eclipse ADT版本23.0.4.请尝试更新到该版本. Android Studio默认使用 Gradle 构建项目, Eclipse 默认使用Ant构建项目.建议Android Studio导入项目时,使用 Gradle 构建项目. 导入 Eclipse 项目 本例中,使用到的 Eclipse 项目结构如图:   e-demo 为主项目, appcompat_v7 为 library 项目. 导入 Generate Gradl

android studio远行项目的问题

问题描述 android studio远行项目的问题 今天试了一下android studio,开始时用着没什么事.可是弄一个Java内容较多的Activity时,运行不了项目,提示以下错误: Gradle: FAILURE: Build failed with an exception. What went wrong:Execution failed for task ':ImageCropper:compileDebug'. Compilation failed; see the comp

android studio 新建项目gradle几分钟才好??(window平台)

问题描述 android studio 新建项目gradle几分钟才好??(window平台) 如题所问,是什么原因呢??有时一直gradle,而且有时运行项目的时候也会出现这种情况,请求大神答案.. 解决方案 android studio如何导入第三方库slidingmenu(gradle项目)Android Studio 导入 Gradle 项目 解决方案二: 1.5版本有这个问题2.0就好了,当然也看你机器快慢 解决方案三: 我现在就是2.0的版本

android 程序运行-eclipse中android模拟器运行项目,需手动才能看到结果

问题描述 eclipse中android模拟器运行项目,需手动才能看到结果 如题!!!!!!!!!!!!!!!!!!!!!!! eclipse中android模拟器运行源程序,run as 之后,只是安装apk文件,仍需手动点击才能看到结果,为何? run as 之后console一直处于如下状态 [2014-03-06 17:27:44 - investly_android_phone] Installing investly_android_phone.apk... [2014-03-06

解决Android Studio导入项目非常慢的办法_Android

前言 大家都知道Android Studio目前已经更新到2.0 Preview 6了,作为Google大力推崇的开发工具,相对于Eclipse ADT有着不可比拟的优势.然而在实际使用时,依然有不少不爽的地方.Android Studio原生支持使用Gradle来构建项目本是个不错的想法,使用动态语言Groovy定义项目构建过程,避免了build.xml文件的繁琐定义.但是Gradle的二进制包体积较大,而且用户可能按照了不同的Gradle版本,构建时可能会出现各种问题.因此又提出了Gradl

Android从0到完整项目(1)使用Android studio 创建项目详解

使用Android Studio 创建Android项目,分享给大家 (1) 说明: 还有一部分人在坚持使用 Eclipse ,建议抓紧换掉.使用AS 可能会刚开始因为不熟悉而有一定的胆怯心理,不过当你熟悉你会发现 原来Android 开发其实这么便利.很多代码 都是可以一键生成的. 正文 一,准备工作 http://www.android-studio.org 下载Android Studio 安装成功后打开 Android 安装 自行百度 创建工程,Android 是单工程项目 这一点与Ec