1、Android Studio直接导入项目是copy原项目的,无法纳入代码管控

解决方案:

英文地址:http://developer.android.com/sdk/installing/migrate.html
翻译:Android Studio 中文组(大锤译)

如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的是生成Build Gradle的文件。因为Android Studio 是用Gradle来管理项目的,具体操作步骤如下:

从Eclipse中导出

1.将你的ADT插件版本升级到22.0以上。
2.在Eclipse中,选择File-->Export。
3.在弹出的导出窗口中,打开Android的文件夹,选择“Generate Gradle Build Files”。
4.选中你想要导入到Android Studio中的项目,Finish。

PS:导出的项目将会和原来的项目在同一目录,覆盖原来的同时,会新增一个叫build.gradle的文件,导入Android Studio时将首先读取这个文件。

导入到Android Studio
1.在Android Studio 中,首先关掉你当前的打开的项目。
2.在欢迎界面,点击Import Project(注:也是可以直接在菜单选择Import project的)
3.选中你在Eclipse中导出的项目,展开目录,点击build.gradle文件,然后OK
4.在之后的弹出对话框中,会要求你选择Gradle的配置,选中Use gradle wrapper.(注:也可以自定义你本机装的Gradle)

PS:如果没有Grade build文件,也是可以将普通的安卓项目导入到Android Studio中,它会用现有的Ant build.但为了更好地使用之后的功能和充分使用构建变量,还是强烈地建议先从ADT插件中生成Gradle文件再导入Android Studio

2、编译错误1

Error:duplicate files during packaging of APK D:\work\xxx\build\outputs\apk\xxx-debug-unaligned.apk
Path in archive: META-INF/LICENSE.txt
Origin 1: D:\work\\libs\httpmime-4.1.3.jar
Origin 2: D:\work\\libs\ant.jar
You can ignore those files in your build.gradle:
android {
 packagingOptions {
   exclude 'META-INF/LICENSE.txt'
 }
}
Error:Execution failed for task '::packageDebug'.
> Duplicate files copied in APK META-INF/LICENSE.txt
File 1: D:\work\libs\httpmime-4.1.3.jar
File 2: D:\work\libs\ant.jar
解决方案:在build.gradle中android {}中添加
packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
    }

3、编译错误2

importing a project creates a full copy
Error:(16, 0) Cause: startup failed:
build file 'D:\mc_works\\build.gradle': 16: unexpected char: '\' @ line 16, column 33.
               java.srcDirs = ['src\main\java']
方案:gradle里 “\” 改为 “/”

4、编译错误3 - 无法编译

在项目主gradle添加

allprojects {
repositories {
jcenter()
}
}

5、运行出错-jni lib load失败,jni未成功引入项目导致

解决方案:在build.gradle里添加下面配置

sourceSets {
main {
jniLibs.srcDirs = ['libs']

6、原项目根目录下有jni目录,可能触发自动编译ndk

解决方案:gradle中添加下面红色部分即可避免触发ndk编译, jni.srcDirs设为空

android {
    compileSdkVersion 19
    buildToolsVersion "23.0.0 rc3"

defaultConfig {
        applicationId "com.xxx"
        minSdkVersion 15
        targetSdkVersion 19
        sourceSets.main {
            jni.srcDirs = []
            jniLibs.srcDir 'src/main/libs'
        }

.....

}

快捷键可以设置成eclipse习惯(还是有些快捷键不一样):

[转]Eclipse 项目转移到Android Studio遇到的问题的更多相关文章

  1. Ecplise项目转移到Android Studio,以及Genymotion模拟器介绍

    一.移植android项目 今天简单分享一个从ecplise开发项目转移到Android Studio的方法,之前一直在ecplise上开发android项目,但是因为google现在主打Androi ...

  2. Eclipse项目导入到Android Studio中

    背景 最近需要将Eclipse中的android项目导入到Android Studio中!倒腾一番,记录如下! 步骤1 打开Android Studio(下文称AS),选择Import project ...

  3. eclipse项目迁移到android studio(图文最新版)

    前言 最近Android studio(下文简称AS)官方发布了正式版,目前火得不行.个人认为主要是因为android是google自家的产品,AS也是他自己搞的IDE,以后的趋势android开发肯 ...

  4. (转)eclipse项目导入到android studio中

    原文:http://www.cnblogs.com/lao-liang/p/5016541.html?utm_source=tuicool&utm_medium=referral Androi ...

  5. eclipse项目导入到android studio中文乱码处理

    由于eclipse项目是gbk编码,Android studio默认用的是utf-8. 就会导致代码中的汉字,注释全部显示为乱码. 解决方法:在module的bulid.gradle中加入: comp ...

  6. 【Android Studio安装部署系列】三十四、将Eclipse项目导入到Android Studio中

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 我采用的是笨方法:新创建Android Studio项目,然后将Eclipse项目中的目录一一复制到Android Studio项目 ...

  7. eclipse项目导入到android studio

    只需要添加gradle文件,在里面添加如下代码片段------------------------------------------- main { manifest.srcFile 'Androi ...

  8. eclipse项目导入到Android Studio Plugin with id 'android-library' not found

    在主项目的build.gradle 中加入以下代码buildscript { repositories { mavenCentral() } dependencies { classpath 'com ...

  9. 将Eclipse项目导入到Android studio 中 很多点9图出现问题解决方法

    在build.gradle里添加以下两句: aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false

随机推荐

  1. Class类和ClassLoader类的简单介绍

    反射机制中的Class Class内部到底有什么呢?看下图! 代码: Class cls=Person.class; 1.Class类: 1. 对象照镜子后可以得到的信息:某个类的数据成员名,方法和构 ...

  2. struts2的action类详解

    Action类的书写方式 方式1

  3. OGG相关操作

    参数文件详解: 1)truncate ogg 进程: Manager进程:manager进程是配置在源端和目标端 Extract(抽取)进程:部署在源端,用于捕获数据表或者日志中的数据文件: Pump ...

  4. 用C#实现对MSSqlServer数据库的增删改查---DAL层

    说明:本人完成的工作是对传感器--超声波物位计进行硬件集成,上位机通过串口接收传感器数据并将其存到数据库中:在DAL层实现对数据库的增删改查,其中包含两个数据表分别是WaterLevelSet表和Wa ...

  5. ECMAScript 6 Promise 对象

    一.Promise的含义 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise是一个对象,从它可以获取异步操作的消息. 1. ...

  6. 到底什么是Upnp?[转载]

    本文出自:http://www.cnblogs.com/nehu/archive/2006/05/13/399342.html 解释一. 准确地说,UPnP(Universal Plug and Pl ...

  7. {%csrf_token%}的作用

    <form> {%csrf_token%} </form> 在django中我们需要在templates的form中加入{%csrf_token%}这串内容,它的作用是当我们g ...

  8. java网络编程三次握手四次挥手

    第一次握手:client设置syn=1,随机产生一个序列号seq=x,将数据包发送到server.client进入syn_send状态, 等待server确认. 第二次握手:server查看clien ...

  9. Codeforces 798D - Mike and distribution(二维贪心、(玄学)随机排列)

    题目链接:http://codeforces.com/problemset/problem/798/D 题目大意:从长度为n的序列A和序列B中分别选出k个下表相同的数要求,设这两个序列中k个数和分别为 ...

  10. IOS-优质应用推荐

    壁纸应用 cuto 免费 点击下载 shots 收费 点击下载 Cutisan 锁屏壁纸制作下载地址 待办事项 TodayMind - 提醒事项触手可及 点击下载 滴答清单 点击下载 Microsof ...