[转]Eclipse 项目转移到Android Studio遇到的问题
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遇到的问题的更多相关文章
- Ecplise项目转移到Android Studio,以及Genymotion模拟器介绍
一.移植android项目 今天简单分享一个从ecplise开发项目转移到Android Studio的方法,之前一直在ecplise上开发android项目,但是因为google现在主打Androi ...
- Eclipse项目导入到Android Studio中
背景 最近需要将Eclipse中的android项目导入到Android Studio中!倒腾一番,记录如下! 步骤1 打开Android Studio(下文称AS),选择Import project ...
- eclipse项目迁移到android studio(图文最新版)
前言 最近Android studio(下文简称AS)官方发布了正式版,目前火得不行.个人认为主要是因为android是google自家的产品,AS也是他自己搞的IDE,以后的趋势android开发肯 ...
- (转)eclipse项目导入到android studio中
原文:http://www.cnblogs.com/lao-liang/p/5016541.html?utm_source=tuicool&utm_medium=referral Androi ...
- eclipse项目导入到android studio中文乱码处理
由于eclipse项目是gbk编码,Android studio默认用的是utf-8. 就会导致代码中的汉字,注释全部显示为乱码. 解决方法:在module的bulid.gradle中加入: comp ...
- 【Android Studio安装部署系列】三十四、将Eclipse项目导入到Android Studio中
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 我采用的是笨方法:新创建Android Studio项目,然后将Eclipse项目中的目录一一复制到Android Studio项目 ...
- eclipse项目导入到android studio
只需要添加gradle文件,在里面添加如下代码片段------------------------------------------- main { manifest.srcFile 'Androi ...
- eclipse项目导入到Android Studio Plugin with id 'android-library' not found
在主项目的build.gradle 中加入以下代码buildscript { repositories { mavenCentral() } dependencies { classpath 'com ...
- 将Eclipse项目导入到Android studio 中 很多点9图出现问题解决方法
在build.gradle里添加以下两句: aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false
随机推荐
- GCD HDU - 1695 莫比乌斯反演入门
题目链接:https://cn.vjudge.net/problem/HDU-1695#author=541607120101 感觉讲的很好的一个博客:https://www.cnblogs.com/ ...
- bootstrap分页查询传递中文参数到后台(get方式提交)
<!--分页 --> <div style="width: 380px; margin: 0 auto; margin-top: 50px;"> <u ...
- GSON转换日期数据为特定的JSON数据
通过JSON传递数据的时候经常需要传递日期,Java中可以通过GSON将日期转换为特定格式的JSON数据. 1.普通的GSON转换日期 public void query(HttpServletReq ...
- 85.Maximal Rectangle---dp
题目链接:https://leetcode.com/problems/maximal-rectangle/description/ 题目大意:给出一个二维矩阵,计算最大的矩形面积(矩形由1组成).例子 ...
- vue单选,多选,多选的内容显示在页面可删除
vue做单选只能选一个 <template> <div class="list"> <!-- 多行多列单选 --> <span>只能 ...
- vue数据传递--我有特殊的实现技巧
最近碰到了比较多的关于vue的eventBus的问题,之前定技术选型的时候也被问到了,vuex和eventBus的使用范围.所以简单的写一下.同时有一种特殊的实现方案. 有这么几种数据传递方式,vue ...
- 发布PHP项目(nginx+PHP7+mysql 5.6)
一.环境检查 1.检查nginx ps -ef | grep "nginx" 显示如下内容则代表nginx启动正常 root 3285 1 0 12:57 ? 00:00:00 n ...
- 用OpenSSL命令行生成证书文件
用OpenSSL命令行生成证书文件 1.首先要生成服务器端的私钥(key文件): openssl genrsa -des3 -out server.key 1024 运行时会提示输入密码,此密码用于加 ...
- /etc/issue 与 /etc/issue.net 文件,telnet登陆前的显示
在使用文本设备(关于文本设备的例子,见下面的说明)登录Linux系统之前,系统会显示一条被称作“issue”的消息: 若是通过本地文本设备(如本地终端,本地虚拟控制台等)登录,则该信息存放与/etc/ ...
- 全栈Python 必备库
强大的库: 转自:微信公众号 Python最棒的地方之一,就是大量的第三方库,覆盖之广,令人惊叹.Python 库有一个缺陷就是默认会进行全局安装.为了使每个项目都有一个独立的环境,需要使用工具vir ...