eclipse迁移到Android Studio 问题记录

最近从eclipse迁移了一个老项目到Android Studio,迁移的原因嘛,当然是65535的问题。迁移的过程中从编译到打包,踩了一堆坑,在此记录一下,希望能帮到,同样被坑的同行

如何导入

推荐使用直接导入ADT的方式来进行导入工作,这样会自动为你添加依赖,构建好代码的架构

选择好eclipse的工程和要导入的目标工程后,直接next -> finish 选项用默认选项

静静的祈祷,并等待导入结束

开始慢慢填坑路

AS构建项目完成后,报错是肯定的,先来看看第一个错误

命名不规范

这个错误很好理解,命名不规范的问题,按照要求改就可以了

.9不符合要求

.9不符合规范是一个很普遍的情况,eclipse对于.9的要求并不像 Android Studio 中那样严格

eclipse项目中经常有这种 .9,四边并没有都没有给像素

这里我的处理方式 就是重新画.9,给他加上边线

libpng warning iCCP & libpng Error : Not a Png file

Not Png file 还好说找到文件格式不对的文件改后缀就可以了,但是如果项目中很多图片找不到怎么办呢? 后面再告诉你们。

还有libpng warning iCCP 就比较坑了,这个错误直接报到V7包里面的资源,问题的原因,我也比较费解。如果谁知道希望留言告知一下

我的解决方案就比较暴力了,在主项目的build.gradle 文件中做出如下配置

关键配置: aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false

就可以直接忽略掉libpng的 2个错误

AndroidManifest.xml merge冲突

eclipse中经常使用的库工程,同样可以在Android Studio中使用。在eclispe中库工程的AndroidManifest.xml,与主工程的AndroidManifest.xml有相同的配置的时候是不会报错的,但是在Android Studio 中这些都是不允许的

权限的重复声明

需要删除重复的权限

application 节点 重复的配置

allowBackup 重复设置

applcation 重复设置

解决方式有2种,删除一个工程的设置,一般是删除库工程,第二种就是与编译器的建议一样写tools : replace

这里的tools 需要声明一下才能使用

V4 包的错误

找不到类原因是V4包没有,但是我的ec项目中是有v4包的,至于导入后为什么没有了,我也不是很明白

build.gradle文件中设置依赖 compile ‘com.android.support:support-v4:23.2.1‘ 就可以了

运行时内存不够的问题

这个错误其实是JVM的错误,加载的内容过多,内存不够。

解决方案,build.gradle中配置

    dexOptions {
        javaMaxHeapSize "4g"
    }

这个配置一定要写在 android{} 结点里面

64K的问题

64k的问题直接采用的官方的方案,设置起来还是很简单的

添加依赖 : compile ‘com.android.support:multidex:1.0.1‘

修改Application

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }

最后到此我的项目就可以运行了 BUILD SUCCESS !!! 完结撒花~~~~

==========================================分割线

在我以为已经完工的时候,我尝试了一下打包,结果。。。 我再次懵逼了

打包的错误

我这里的打包时打签名的正式包,不是签名的话,下面的错误是不会出现的。

layout.xml 文件中自定义属性错误

以前的项目中layout.xml自定义属性声明是直接跟包名的

xmlns:app="http://schemas.android.com/apk/res/com.xxx"

但是打包的时候会跟你报错,Adnroid Studio 中建议写成 res-auto

这种警告级别的东西,在打包时会成为错误爆出来

Error: Expected resource of type styleable [ResourceType]

这个错误就比较奇葩了,我的申明都是没问题的。而且在编译期间这个错误居然不会出现,

只有打包的时候才会出现,我又是吐了一口老血。所幸这个错误解决方案还是比较简单,

那就是直接过滤掉。在出问题的类上加上注解

@SuppressWarnings("ResourceType") 就可以过滤掉了。

ValidFragment错误

也是一个比较费解的错误

直接改吧,在fragment上给上注解 @SuppressWarnings("ValidFragment") 同样是过滤掉这个错误

MissingTraslasion 错误

这个错误是在String.xml 里面没有设置是否能够被翻译的配置造成,但是我们应用一般不用给这个设置,也没见过报错啊。内鬼就出在友盟的工程中有设置 values-zh 导致我们自己的工程也被影响要设置翻译配置。

解决方案,直接在出问题的String.xml中添加配置

<?xml version="1.0" encoding="utf-8"?>
<resources
  xmlns:tools="http://schemas.android.com/tools"
  tools:ignore="MissingTranslation" >
</resources>

HOlY SHIT!!!!!

作者已经吐血了

时间: 2024-10-10 12:55:46

eclipse迁移到Android Studio 问题记录的相关文章

从Eclipse迁移到Android Studio碰到的问题记录

背景: 1. 一直在做.NET的开发,工作之余,学习了一下Android开发,写了一些Demo,当时用的Eclipse开发工具:这两天,刚好项目不是很忙,就打算把之前写的Demo,迁移到Android Studio,结果就悲剧了: 2. 当前我用的Eclipse版本是 Mars.1 Release (4.5.1),Android Studio版本是1.5.1. 主要问题: 1. 下载Android Studio,很耗时: 2. 利用国内最大搜索引擎,找到了相关的Eclipse迁移到Android

Android官方开发文档之从Eclipse迁移到Android Studio开发篇

Android官方开发文档之从Eclipse迁移到Android Studio开发篇 1.前言 从Eclipse迁移项目到Android Studio需要适应一个新的项目结构,建立系统和IDE的功能.为了简化迁移过程,Android Studio提供了重要工具使你可以快速地将现有代码移动到Android Studio项目基础建设的文件和工具. 2.Android Studio的基础(Android Studio Basics) 当你将Eclipse项目迁移到Android Studio时,你应该

【Android Studio(一)】从Eclipse迁移到Android Studio

接下来的重心会进行Android Studio官方关于Android Studio说明的系列文档的翻译. 假如你以前是用Eclipse进行开发,想迁移到Android Studio上.你需要导出你的工程,导出的目的是为了生成Gradle文件.然后将导出的工程导入Android Studio即可. 从Eclipse导出 1.更新你的Eclipcs的ADT插件(ADT的版本必须大于等于22.0) 2.在Eclipse中,选择Flie->Export 3.弹出的对话框中,点击Android并选择Gen

Android studio 使用心得(三)—从Eclipse迁移到Android studio

断断续续的也算是把eclipse上的代码成功迁移到android studio上来了,现在,我同事继续用eclipse,我用android studio,svn上还是之前eclipse的项目,迁移成功后,我也能happy的开发了,两不误.直接来分享我捉摸的一点小成果吧 以Demo4 为例,并引用了library包appcompat_v7_8. 1,第一步,Eclipse还是要有滴,并且adt 得在22以上,我相信大家adt肯定在22以上了吧,不然还开发个毛. (1) 在Eclipse中,选择Fl

Eclipse迁移到Android studio步骤如下:

一.从Eclipse中导出:1.将你的ADT插件版本升级到22.0以上.2.在Eclipse中,选择File-->Export.3.在弹出的导出窗口中,打开Android的文件夹,选择“Generate Gradle Build Files”.4.选中你想要导入到Android Studio中的项目,Finish. 注意:导出的项目将会和原来的项目在同一目录,覆盖原来的同时,会新增一个叫build.gradle的文件,导入Android Studio时将首先读取这个文件. 二.导入到Androi

从Eclipse迁移到Android studio(还有遇到的各种问题)

1,第一步,Eclipse还是要有滴,并且adt 得在22以上,我相信大家adt肯定在22以上了吧,不然还开发个毛. (1) 在Eclipse中,选择Flie->Export-->Android-->Generate Gradle build files (2),next-->选中自己要导的项目-->next-->先只勾选Force overriding of exeisting files-->finish--->finish (3).各位,注意啦,有东西

从Eclipse迁移到Android Studio(一)

Google正式推出了Android Studio 1.0,Android默认的开发工具也由Eclipse变成了intellij,对Eclipse的支持肯定会越来越少了,对于Android开发者来说,是时候要换个工具了. 对比Eclipse,Studio更加的稳定,功能更丰富,更像是一个Android的专用开发工具.至于性能,和Eclipse差不多,在配置高的电脑上,要比Eclipse流畅. 第一次接触Android Studio,首先要了解工程结构.Studio每个窗口只能打开一个projec

将公司的主要项目从eclipse迁移到android studio for mac环境

上星期,我决定要解决这个问题.理由如下: 3个月之前,我已经投入一段时间要做好这个迁移工作,直到最后,我发现能够安装了,但是运行不了,这个过程也看不到bugly上传,在找不到原因的情况下,我放弃了. 后来,我在svn 下载代码后,在esclipse中运行时,发现这个app可以安装,但是不能运行,和之前我遇到的问题一样.后来,我了解到了是.so文件的缺失.然后联想到之前的迁移问题应该也是这个原因,所以我也开始下定决心,去解决这个问题.  接下来,我整理一下我遇到的问题,和我如何解决: 1.从svn

将Eclipse项目迁移到Android Studio中

最近一段时间调试的时候Eclipse总是出现无响应问题,重启了N遍,不仅耽误工作而且还心烦,所以这两天把项目从Eclipse中迁移到Android Studio中,这里记录一下操作步骤以及遇到的各种问题. 1.SDK升级 首先将ADT插件升级到最新的,最低也要22.0 2.从Eclipse导出项目 首先在Eclipse中选择要导出的项目,右键选择"Export...",打开Android文件夹,选中"Generate Gradle build files",点击下一