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了。
Android Studio导入Eclipse项目和一些常见的问题的更多相关文章
- Android Studio导入Eclipse项目的两种方法
Android Studio导入Eclipse项目有两种方法,一种是直接把Eclipse项目导入Android Studio,另一种是在Eclipse项目里面进行转换,然后再导入Android Stu ...
- Android studio导入eclipse项目且不改变目录结构
Android studio的安装与配置论坛当中已经有很多在此就不在细说了,现在开始说下如何在Android studio当中导入eclipse的项目且不改变其目录结构和配置,让使用eclipse的同 ...
- Android studio导入Eclipse项目,和一些错误的解决
Android studio导入Eclipse开发的项目步骤如下 如果已经打开Android studio的话就选择你已打开的项目,关闭然后导入 开始导入 导入完成. 2.项目出错 Error:(13 ...
- 图解Android Studio导入Eclipse项目源码
方法/步骤 打开Android Studio,在主页面中选择"File"->"New"->"Import project...&quo ...
- Android Studio导入Eclipse项目
随着Google 对新Android编辑器Android Studio(以下简称AS)的版本不断更新,越来越多的人开始由熟悉的编辑器Eclipse转向AS,而Eclipse开发团队也坦言将放弃对Ecl ...
- Android studio导入eclipse项目(亲测)
之前上网搜索的时候,网上都说先用eclipse导出gradle,之后再用Android Studio的import project导入,但是这个方法使用的过程中会出现许多错误,解决了一个又一个还是不得 ...
- Android studio导入eclipse项目遇到的错误解决方案
Error:Execution failed for task ':app:compileDebugJavaWithJavac'. > Compilation failed; see the c ...
- android studio 导入eclipse项目后的报错解决
1.如何导入: 2.导入的时候会让你创建gradle,一直下一步,不用修改 3.编译, a.会报编码格式错误,如果有中文会报这个错,修改成utf-8 b.找不到类,解决办法 右键工程 引入外部的包,重 ...
- Android studio导入eclipse项目混淆打包出错
将proguard-android.txt复制一份重命名成proguard-rules.pro,且在build.gradle添加 release { minifyEnabled ...
随机推荐
- SQL Server 2008 R2——VC++ ADO 操作 事务
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
- Swing应用开发实战系列之四:组件内容实时刷新问题
窗口组件动态刷新问题,在dotnet中根本不算什么问题,用几句代码很轻松就能搞定,但是在Swing中,实现动态刷新组件内容却是一件颇为吃力的事情.譬如针对我们经常用到的刷新JLable.JTextFi ...
- Windows环境下JDK安装与环境变量配置详细的图文教程
原文作者:souvc博文出处:http://www.cnblogs.com/liuhongfeng/p/4177568.html 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1 ...
- Same Tree
Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...
- 迅为iTOP-4412嵌入式开发板实现中断驱动例程
本文转自迅为:www.topeetboard.com 大家好,今天我们来学习一下 linux 中断处理驱动的编写,本节我们实现的功能是通过开发板上的按键来控制 led 发光二极管,在之前的章节我们学习 ...
- noip2008普及组3题题解-rLq
(第一次写题解,随意喷) (只是前一天的作业哈) (先凑个数) 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏.游戏规则是这样的:n个同学站成一个圆圈 ...
- 孙鑫视频学习:关于Visual Studio 2010中MFC工程的消息WM_INITDIALOG找不到的问题
学习孙鑫的那个深入详解C++视频时,有一处给编辑框空间改写窗口过程函数的例子,其中需要添加一个WM_INITDIALOG消息响应函数,但在类向导的消息栏下找不到WM_INITDIALOG消息.解决方法 ...
- Appium路线图及1.0正式版发布
Appium更新的速度极快,从我试用时候的0.12到1.0(0.18版本后就是1.0),完全符合移动互联网的节奏. 更新可能会慢,可以多试几次 整理了testerhome上思寒发表的帖子,让我们来看下 ...
- sql 入门经典(第五版) Ryan Stephens 学习笔记 第四部分:建立复杂的数据库查询/
第十三章: 在查询表里结合表 1.等值结合 : // 选择 tabla_a 和table_b 中id相等的行,输出 他们的id 和name select table_a.id , table_a.na ...
- 程序清单 8-8 exec函数实例,a.out是程序8-9产生的可执行程序
/* ============================================================================ Name : test.c Author ...