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

Android Studio导入Eclipse项目和一些常见的问题

 

Android Studio版本

Eclipse项目工程:一个主工程,一个Emojicon依赖库。

有两种方式导入Eclipse工程:

1、兼容Eclipse

2、全新的Android Gradle Project

Google推荐用全新的方式,所以此处不介绍兼容模式导入。

请先关闭Android Studio当前的Project,否则你看不到Import Project。

选择“Import project(Eclipse ADT, Gradle, etc.)”,定位到你所需要导入的工程的主目录。由于主目录和Emojicon有依赖关系,Android Studio会自动关联进来。然后指定一个保存的目录,点击Next。

默认情况下,下面的选项会打上勾(如果没有勾上,手动勾上),直接Finish就行了。

一段时间转换后,你将看到以下的结构

我把主工程的名称隐藏了,此时可以看到,Emojicon确实导进来了。不过Emojicon下的java目录是我后面加进来的,默认导入时这个文件夹不存在,为什么?往下看。

Android Studio导入完毕后,会默认在窗口中打开这个import-summary.txt文件,里面记录了导入的一些注意事项。这个文件有几个需要注意的节点,如下:

Manifest Merging

Ignored Files

Replaced Jars with Dependencies

Manifest Merging中的文字如下,也就是描述你的清单文件,基本上不用管。

Your project uses libraries that provide manifests, and your Eclipse
project did not explicitly turn on manifest merging. In Android Gradle
projects, manifests are always merged (meaning that contents from your
libraries' manifests will be merged into the app manifest. If you had
manually copied contents from library manifests into your app manifest
you may need to remove these for the app to build correctly.

Ignored Files,这个部分很重要。它表示Android Studio在导入项目的时候把这些文件忽略了,如果需要的话,你得手动拷贝进来。因为主工程依赖Emojicon,所以把这个文件拷贝到相应的位置即可。

The following files were *not* copied into the new Gradle project; you
should evaluate whether these are still needed in your project and if
so manually move them: From Emojicon:
* .gitignore
* java\
* java\com\
* java\com\rockerhieu\
* java\com\rockerhieu\emojicon\
* java\com\rockerhieu\emojicon\EmojiAdapter.java
* java\com\rockerhieu\emojicon\EmojiconEditText.java
* java\com\rockerhieu\emojicon\EmojiconGridFragment.java
* java\com\rockerhieu\emojicon\EmojiconHandler.java
* java\com\rockerhieu\emojicon\EmojiconSpan.java
* java\com\rockerhieu\emojicon\EmojiconTextView.java
* java\com\rockerhieu\emojicon\EmojiconsFragment.java
* java\com\rockerhieu\emojicon\emoji\
* java\com\rockerhieu\emojicon\emoji\Emojicon.java
* java\com\rockerhieu\emojicon\emoji\Nature.java
* java\com\rockerhieu\emojicon\emoji\Objects.java
* java\com\rockerhieu\emojicon\emoji\People.java
* java\com\rockerhieu\emojicon\emoji\Places.java
* java\com\rockerhieu\emojicon\emoji\Symbols.java

Replaced Jars with Dependencies,提示你原来的jar包在Android Studio项目中会以何种方式存在。

The importer recognized the following .jar files as third party
libraries and replaced them with Gradle dependencies instead. This has
the advantage that more explicit version information is known, and the
libraries can be updated automatically. However, it is possible that
the .jar file in your project was of an older version than the
dependency we picked, which could render the project not compileable.
You can disable the jar replacement in the import wizard and try again: android-support-v4.jar => com.android.support:support-v4:22.2.1

以前的libs文件夹哪里去了呢?

右击你的Module,Open Module Settings,显示如下:

其实Android Studio可以添加在线的库和jar,看到Maven Central字样了吧?相应的Jar会按需下载。

至此,项目可以build了。想运行成功,还没那么容易。

Error:duplicate files during packaging of APK ........

说是duplicate files copied in APK META-INF/NOTICE.txt

duplicate files copied in APK META-INF/LICENSE.txt

解决办法:在你的module下的build.gradle中的android节点中添加packagingOptions

android {
…… packagingOptions{
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE.txt'
}
}

还有一个错误提示:Manifest merger failed with multiple errors, see logs

Suggestion: add ‘tools:replace=”android:icon”‘ to <application> element at AndroidManifest.xml:24:5 to override

原因:Android Studio默认使用Manifest Merger Tool,如果Library项目也定义了与主项目相同的属性(如默认生成的android:icon, android:theme),则会合并失败。

解决1:在AndroidManifest.xml节点manifest中引入

xmlns:tools="http://schemas.android.com/tools"

然后在application节点添加

tools:replace="android:icon"

或需要屏蔽theme,中间用逗号隔开。

tools:replace=”android:icon, android:theme”

解决2:在build.gradle根标签上加上useOldManifestMerger true,不过在Android Studio 2.0中提示找不到这个useOldManifestMerger ,不知是改进过了还是用了其它的字段(此法有问题,有谁知道为什么么?)。

android {
useOldManifestMerger true
}

请参考官方介绍:Manifest Merger

顺利的话,基本上就是这两个问题,然后就可以run了。

(转)eclipse项目导入到android studio中的更多相关文章

  1. Eclipse项目导入到Android Studio中

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

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

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

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

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

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

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

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

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

  6. eclipse项目导入到android studio

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

  7. 如何将Eclipse中的项目迁移到Android Studio 中

    如何将Eclipse中的项目迁移到Android Studio 中 如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的 ...

  8. [转]-如何将Eclipse中的项目迁移到Android Studio 中

    英文地址:http://developer.android.com/sdk/installing/migrate.html 翻译:Android Studio 中文组(大锤译) 如果你之前有用Ecli ...

  9. studio--如何将Eclipse中的项目迁移到Android Studio 中

    如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的是生成Build Gradle的文件.因为Android Studi ...

随机推荐

  1. ES6严格模式use strict下的保留字

    implements interface let package private protected public static yield

  2. bzoj roll题器(Py大法好)

    此roll题器能实现非权限号跳过权限题及所有号跳过已切题 点击下载rar文件(py2) 点击下载rar文件(py3)

  3. 20145208 《Java程序设计》第7周学习总结

    20145208 <Java程序设计>第7周学习总结 教材学习内容总结 Lambda 认识Lambda语法 什么是Lambda语法 以下是维基百科上的解释: a function (or ...

  4. 关于sql 的convert 格式设置

    CONVERT(data_type,expression[,style]) convert(varchar(10),字段名,转换格式) 说明:此样式一般在时间类型(datetime,smalldate ...

  5. 深入探索Java 8 Lambda表达式

    2014年3月,Java 8发布,Lambda表达式作为一项重要的特性随之而来.或许现在你已经在使用Lambda表达式来书写简洁灵活的代码.比如,你可以使用Lambda表达式和新增的流相关的API,完 ...

  6. 『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布

    项目原因: 参与过各种 分布式项目,有 Socket,Remoting,WCF,当然还有最常用的可以跨平台的 WebService. 分布式编码的时间浪费: 但是,无一例外的,开发分布式程序的开发遵循 ...

  7. [软件测试]网站压测工具Webbench源码分析

    一.我与webbench二三事 Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能.Webbench ...

  8. #Linux学习笔记# Linux文件的所有者、群组和其他人

    1.关于所有者.群组和其他人 在Linux系统中,每个文件都具有User.Group和Others三种身份的权限配置.那这三种身份分别表示什么意思呢?配置这三种身份的权限有啥意义呢? (1)文件所有者 ...

  9. Android将应用程序的崩溃信息如何保存到本地文件,并上传服务器

    导语:最近实在是太忙了,没有怎么更新公众号,也没有怎么认真去写一些内容,在这里先给关注我的朋友说一声抱歉,可能在接下来的一段时间,还是很忙,但是我会争取抽空多分享一下技术文章,给大家看,共同进步,也希 ...

  10. Android图像格式类及图像转换方法

    Android图像格式类及图像转换方法介绍 一款软件的开发和图像密切相关,特别是移动应用程序,在视觉效果等方面是至关重要的,因为这直接关系到用户的体验效果.在Android程序开发的过程中,了解存在哪 ...