背景:

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 Studio的文章,按照其中步骤,卡在Build Gradle一个小弹窗那里,然后状态提示Download XXXXX, 就再也没反应了;

3. 最后终于迁移完成,结果代码里面的中文全是乱码,各种错误,内心阴影面积很大。

4. 绝望中Google搜索找到了另一种简单快捷的迁移方法,但是运行时的apk中文仍旧是乱码。

迁移步骤及问题处理:

1. 下载android Studio及安装:

由于裆国网络限制,下载需要翻墙,大家可以买个VPN去下载,我自己用的是云梯VPN,感觉还不错。【PS:从这个链接点击去购买的话,可以优惠10块钱】

下载地址:Android Developers。安装过程基本没什么,除了下图步骤:

这里关于选择Standard和Custom模式,需要说明一下:如果你之前有安装过Android SDK,那么选择Custom模式,如果没有安装,选择Standard,然后点击Finish。

2. Eclipse迁移到android Studio。

关于项目的迁移,网上有很多人都有博客,大体上就是两种方法:

a. 先导出Gradle,然后导入Android Studio。【验证失败】

操作步骤:打开Eclipse,点击File---->Export----->Android------->Generate Gradle build files, 点击Next,然后继续点击Next【此处省略一千字】,相关博客,如: eclipse项目迁移到android studio(图文最新版)【Android Studio(一)】从Eclipse迁移到Android Studio等。

验证结果:我尝试了很久,出现了上面提到的问题2,等了一两个小时,迁入完成,然后出现了问题3,最后网上查了很多资料,都没有解决我的问题。【PS:可能是我刚接触Android的原因,这只是我这个小菜鸟碰到的情况,大家有什么不同建议可以告诉我】

b. 直接导入原来Eclipse中Project的方法。【验证可用】

步骤:

<一>. 打开Android Studio,点击Import Project(Eclipse ADT,Gradle,etc.)

<二> 选择你的Eclipse的WorkSpace下面的一个Project,并选中Project下面的AndroidManifest.xml,点击OK。

<三>选择你转化Project后保存到的目录,然后点击Next;

<四>如下图,三个全部勾选,点击Finish,然后很快就转化OK了。

请注意一下你的工程的build.gradle文件,可能你迁移以后会报错,和这个build.gradle文件有关系,它的内容其实和你的本地的sdk环境相关,如图:

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
compileOptions.encoding = 'gbk'
defaultConfig {
applicationId "com.yuqf.widgetdemo"
minSdkVersion 11
targetSdkVersion 21
} buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
} dependencies {
compile 'com.android.support:support-v4:23.2.1'
compile 'com.android.support:appcompat-v7:23.2.1'
}

这时候就会出现上面说的那个乱码问题了,代码编译是OK的,但是中文在代码中是乱码,运行后apk在设备上也是乱码。

乱码解决办法:

<a> 如果代码或者注释里面中文乱码,点击File---->Settings---->Editor---->File Encoding,把IDE Econding,Project Encoding全部改成GBK编码;

<b> 如果运行的apk显示乱码,在module的bulid.gradle中加入: compileOptions.encoding = ‘gbk’ ,如下:

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
compileOptions.encoding = 'gbk'
defaultConfig {
applicationId "com.example.myfirstapp"
minSdkVersion 11
targetSdkVersion 21
}

参考博客:Android Studio 导入 Eclipse 的代码后,注释和运行时中文显示乱码

<c> 关闭Android Studio,重新打开,就正常了。

最后,顺便说一句Android Studio和Eclipse的一些差异:

1. Android Studio每次只打开一个Project,而Eclipse是打开了所有的Project。

2. Android Studio的Project相当于Eclipse的WorkSpace,即是Android Studio有多个WorkSpace。

3. Android Studio的Module相当于Eclipse的Project。

另,本人只是一个业余Android学习者,如有不正确的地方,希望欢迎大家能给予指正。

从Eclipse迁移到Android Studio碰到的问题记录的更多相关文章

  1. 从 Eclipse 迁移至 Android Studio

    从 Eclipse 迁移至 Android Studio 本文内容 Android Studio 基础知识 迁移先决条件 将项目导入 Android Studio 后续步骤 将项目迁移至 Androi ...

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

    1.将eclipse 的 代码迁移到android studio的过程中,现在已经有了一个未优化版本能够在android studio使用,这时候,只需要将已优化版本的代码中的libs  res  s ...

  3. Android studio:从Eclipse迁移到Android Studio【一】

    转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255061&extra=page%3D2%26filter%3Dautho ...

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

    断断续续的也算是把eclipse上的代码成功迁移到android studio上来了,现在,我同事继续用eclipse,我用android studio,svn上还是之前eclipse的项目,迁移成功 ...

  5. 如何从Eclipse 迁移到Android Studio 且保持Eclipse项目结构

    本文demo下载:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=531 Android项目 Eclipse与A ...

  6. Eclipse迁移到Android studio步骤如下:

    一.从Eclipse中导出:1.将你的ADT插件版本升级到22.0以上.2.在Eclipse中,选择File-->Export.3.在弹出的导出窗口中,打开Android的文件夹,选择“Gene ...

  7. 从Eclipse迁移到Android Studio

    Google正式推出了Android Studio 1.0,Android默认的开发工具也由Eclipse变成了intellij,对Eclipse的支持肯定会越来越少了,对于Android开发者来说, ...

  8. 将公司的主要项目从eclipse迁移到android studio for mac环境(1)

    上星期,我决定要解决这个问题.理由如下: 3个月之前,我已经投入一段时间要做好这个迁移工作,直到最后,我发现能够安装了,但是运行不了,这个过程也看不到bugly上传,在找不到原因的情况下,我放弃了. ...

  9. Eclipse 迁移到Android studio

    步骤: 1.安装 android-studio-bundle-143.2915827-windows https://developer.android.com/studio/install.html ...

随机推荐

  1. MyBatis参数传入集合之foreach用法

    传入集合list // 账户类型包括门店和分公司 List<Object> scopeList = new ArrayList<Object>(); scopeList.add ...

  2. 泛型-List<T>

    声明一个int类型的泛型对象 List<int> list=new List<int>(); list.Add(44);//不用装箱 int i1=list[0];//也不会发 ...

  3. SQL0946N错误及DB2事务日志

    在对DB2数据库进行批量增删的时候, 如果数据量比较大会导致SQL0964N错误, DB2 Knowledge center(http://pic.dhe.ibm.com/infocenter/db2 ...

  4. jQuery控制表头

    <!doctype html><html lang="en"><head> <meta charset="UTF-8" ...

  5. 魔术常量__DIR__

    在PHP5.3中,增加了一个新的常量__DIR__,指向当前执行的PHP脚本所在的目录. 例如当前执行的PHP文件为 /www/website/index.php 则__FILE__等于'/www/w ...

  6. Android热修复AndFix

    热修复主要用来修复代码.修复bug.添加独立的功能,他的原理主要是操作PathClassLoader.DexClassLoader. PathClassLoader是类加载器,DexClassLoad ...

  7. Jquery动态添加的元素绑定事件的3种方法

    假设我们点击li标签,弹出他的文本,如果是动态添加的li,点击是没有效果的,压根弹不出来文本. 下面博主分享一下为动态添加的元素绑定事件的三种方法,网上一般都是两种,我在这里多增加了一种. 事件案例: ...

  8. Node.js process 模块常用属性和方法

    Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...

  9. springmvc @PathVariable("b") double b 丢失精度问题

    Spring MVC从3.0开始支持REST,而主要就是通过@PathVariable来处理请求参数和路径的映射.由于考虑到SEO的缘故,很多人喜欢把新闻的名称作为路径中的一部分去处理,这时候中文的名 ...

  10. Spring系列之AOP实现的两种方式

    AOP常用的实现方式有两种,一种是采用声明的方式来实现(基于XML),一种是采用注解的方式来实现(基于AspectJ). 首先复习下AOP中一些比较重要的概念: Joinpoint(连接点):程序执行 ...