eclipse到Android Studio的项目迁移

简介: eclipse到Android Studio的项目迁移 标签: andr...

eclipse到Android Studio的项目迁移

标签: android项目迁移android studioeclipse
629人阅读 评论(0) 收藏 举报
分类:

目录(?)[+]

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

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

1.乱码

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

解决方案

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

  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,文件中配置:
  1. android {  
  2.    defaultConfig {  
  3.       ...  
  4.       multiDexEnabled = true  
  5.    }  
  6. }  
另外,还要使用MultiDexApplication类,如果你的应用中已经有Application类,需要让它继承自MultiDexApplication,再实现attachBaseContext方法,代码如下:
  1. protected void attachBaseContext(Context base) {  
  2. super.attachBaseContext(base);  
  3. MultiDex.install(this);  
  4. }  

4. OutOfMemoryError: GC overhead limit exceeded

在build.gradle文件中做如下配置:
  1. android {  
  2. ...  
  3. dexOptions {  
  4.         incremental true  
  5.         javaMaxHeapSize "4g"  
  6.     }  
  7. }  

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

报错信息如下:
  1. Error:Execution failed for task ':ezweather_original:packageAllDebugClassesForMultiDex'.  
  2. > java.util.zip.ZipException: duplicate entry: android/support/annotation/ColorRes.class  
解决方案,在build.gradle中添加如下配置:
  1. configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }  

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

目录
相关文章
|
1月前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
112 1
|
1月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
102 2
|
1月前
|
XML Java 数据库
安卓项目:app注册/登录界面设计
本文介绍了如何设计一个Android应用的注册/登录界面,包括布局文件的创建、登录和注册逻辑的实现,以及运行效果的展示。
147 0
安卓项目:app注册/登录界面设计
|
7天前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
25 4
|
17天前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
在 Android 开发中,选择合适的架构模式对于构建中大型项目至关重要。常见的架构模式有 MVVM、MVP、MVI、Clean Architecture 和 Flux/Redux。每种模式都有其优缺点和适用场景,例如 MVVM 适用于复杂 UI 状态和频繁更新,而 Clean Architecture 适合大型项目和多平台开发。选择合适的架构应考虑项目需求、团队熟悉度和可维护性。
45 6
|
1月前
|
Java Maven Android开发
eclipse创建maven项目
本文介绍了在Eclipse中创建Maven项目的步骤,包括打开Eclipse、选择Java项目、完成项目创建以及自动下载插件的过程。
88 2
eclipse创建maven项目
|
1月前
|
Java Maven Android开发
eclipse如何导入springboot项目
本文介绍了如何在Eclipse中导入Spring Boot项目。
32 1
eclipse如何导入springboot项目
|
1月前
|
Java 应用服务中间件 Android开发
Eclipse创建Spring项目
本文介绍了在Eclipse中创建Spring项目的步骤,包括如何配置Tomcat服务器、创建项目、部署项目到Tomcat以及添加Spring框架所需的JAR包。
56 1
Eclipse创建Spring项目
|
26天前
|
前端开发 JavaScript 测试技术
Android适合构建中大型项目的架构模式全面对比
Android适合构建中大型项目的架构模式全面对比
43 2
|
2月前
|
Java Maven 开发工具
第一个安卓项目 | 中国象棋demo学习
本文是作者关于其第一个安卓项目——中国象棋demo的学习记录,展示了demo的运行结果、爬坑记录以及参考资料,包括解决Android Studio和maven相关问题的方法。
第一个安卓项目 | 中国象棋demo学习

推荐镜像

更多
下一篇
无影云桌面