在开发过程中,eclipse是使用得最多的IDE,但由于其开源且免费的性质决定了其不然有很多的BUG,在项目很赶的时期碰到某些很恶的错误很浪费时间,也很让人郁闷,现我总结一下我碰到的错误并总结下对应解决的方法:

1,从大的方面讲,如果碰到一个工程有错,首先看其JDK是否为最新的,比如有时候在进行工程移植时,吧一个工程导入到另一个eclipse工作环境,默认会是JDK1.4,此时就需要调整JDK版本到最新的比如JDK1.6;
 
2,再者就是有时候当移植工程时,会丢失掉android系统库,此时可以先尝试右键工程propertiey--->android--->选择对应的系统库,比如android2.2,这里需要注意的是,当当前工程有关联工程时,如果关联工程是被引用包,那么在propertiey--->android下方有个Add选项,意思就是关联工程,被关联工程就是is
library.
 
3,如果问题还未得到解决,再继续右键properties--->build_path检查包,如果出现有红X的包,remove掉,然后再导入正确的包;
 
4,有时候会出现gen文件丢失的情况,此时则可以尝试通过clean解决.
  5,
最后就是当移植工程时,当移植前的工程所处SDK比较低,移植后的所处SDK比较高会出现:Conversion to Dalvik format failed
with error
1的错误,这个错误很恶心,网上的说法是通过clean解决,但很多时候解决不了,此时可以打开工程所在目录,找到项目的classpath文件
 
直接从其他正常项目里面把

      <classpathentry kind="lib"  
path ="自定义jar的地址" />
修改成

<classpathentry
kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
这样子刷新项目,Android系统库回来了,那个错误也解决了。

以上是暂时的总结,还有些错误暂时记不起来了,或者还有些错误暂时没碰到,以后碰到了继续记录上。

补充说明: Android R.java文件丢失的处理

R.java这个文件是会自动生成的,但是如果你不小心xml文件写错了,或者不小心在编辑xml的时候点击了run(其实这个时候会运行这个xml文件,会生成一个同名的xml文件,后缀为xx.out.xml),然后正巧你游clear了一下项目,你可能会发现gen下面的R.java的文件没有了,这个在刚开始的时候很气人,真不知道怎么解决,后来发现,只要xml文件有问题,系统是绝对不会给你自动生成这个R.java文件,因为他要参照你的每张xml里的数据来生成R.java,所以自然就生成不了了。虽然知道了原因但是问题头疼,假如项目的layout
xml文件有几十个,这个时候怎么办,难道要一个一个xml的看吗,呵呵,其实也不是,把console中的信息clear一下,然后再clear项目一下,这个时候,console中会有很多红色的信息,参照这个肯定能准确的找到哪个文件报错了。

还有就是,修改Warnings处的地方,把Warnings消掉,一般都是sdk版本之类的问题,因为R.java
是SDK根据资源文件生成的,如果SDK活着资源文件有问题,都会报错。

还有需要补充的是,当你的android.jar有了,R文件也有了,JDK也对应到位了,但是还报错,找到代码发现,@Override下有红线,此时的做法可以先把jdk改为1.5,再改为1.6,就OK了,但发现,某些时候,这招也不管用那么可以通过右键工程选择Android
tools---->Fix project properties解决。

再继续补充说明,有时候当把工程部署到模拟器时,会碰到“Failed to install xxx.apk on device
'emulator-5554'”  这时候可以

默认值是5000,设置成比如50000,就搞定了!

  部分网友下载的Android工程,导入到Eclipse时提示The project was not built since its build
path is incomplete. Cannot find the class file for java.lang.Object. Fix the
build path then try building this
project的提示,这样的错误一般是Java的JRE没有正确加载,当然了对于Android来说相关的SDK库也没有正确加载,解决的方法很简单,通过Google推荐的Android项目导入方法即可解决,如下:
  在Eclipse菜单的File=>New=>Project选择Android=>Android
Project 这一步时,选择Create project from existing
source选项,这样设置Location为你要导入Android项目的路径即可

继续补充说明:

当上述的一切都没问题了,比如我的PYH引用framework,framework没任何问题,PYH该做的也都做了,但PYH还是报错,结果发现,原来是framewok引用的android包是2.3.3的,而PYH引用的是2.2,调成一致就行了!

工程上右链-->Properties-->Android-->选择SDK版本
这个主要是导入项目的属性文件中的sdk版本与当前开发环境的sdk版本不同,在这里只需要稍微修改一
下项目的属性文件就可以,在android项目的default.properties
中的修改target的值,如果是2.1版本就将target的值改为android 7, 如果开发环境是2.3版本,就将target改为android
9,总之这个值与使用的android sdk版本的关,这个修改完后,右键点击项目选择 Android Tools->Fix Project
Properties,这时你会看到项目所引用的android.jar已经自动导入到项目中。或者修改完target的值后,只要保存一下就可以成功。

关于eclipse导工程或移植工程常碰到的错误汇总的更多相关文章

  1. java中自己常犯的错误汇总

    package debug; /** 1.定义一个公共的动物类,包含名字.年龄.颜色和吃饭东西方法 2.定义一个猫类,继承动物类,同时拥有玩游戏的本领 3.定义一个狗类,继承动物类,同时拥有看门的本领 ...

  2. 用eclipse打开已经编译的工程

    第一种方法: eciplise------>File------>Import------>General------>Existing Project into Worksp ...

  3. eclipse java工程和maven工程的互相转换

    eclipse java工程和maven工程的互相转换 maven转为工程一般工程: 工程右键--->Maven--->Disable Maven Nature转为一般工程. 一般工程转为 ...

  4. 基于eclipse创建android的helloworld工程

    基于eclipse创建android的helloworld工程 之前用过Android studio感觉很慢,决定采用eclipse来学习Android开发.下面来看是怎么创建的. 选择File--- ...

  5. eclipse和android studio导入工程的错误

    eclipse中导入工程,需要注意导入的工程是什么,android 工程和java工程是有区别的.如果导入错误了,调起来也比较麻烦.因为入口错了呀. 特别在android studio工程,从其它人的 ...

  6. eclipse开发工具Import工程后,工程文件夹上出现黄色感叹号——解决方法

    eclipse开发工具Import工程后,工程文件夹上出现黄色感叹号. 可能是Work目录无效,解决方法:删除Work目录即可,如下图所示: 删除后,如下图:

  7. JAVA编程相关:eclipse如何导入已有工程

    eclipse使用过程中,经常会遇到导入外部eclispe工程的情况,导入外部eclipse也就是将已有的eclipse工程导入到eclipse中,那么如何导入外部工程呢?下面为大家分享导入已有ecl ...

  8. SpringBoot(一):使用eclipse/idea创建springboot helloword工程

    eclipse如何创建spring boot工程: 第一步:首先打开eclipse,找到图中的下图的中“下三角”符号,选中"working sets"(表示将会把eclipse中的 ...

  9. Eclipse拷贝动态的web工程修改context root的值

    Eclipse拷贝动态的web工程修改context root的值 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. context root的名称一般是我们访问URL时的PATH路径 ...

随机推荐

  1. angular中的jqLite所包含的jquery API

    Angular本身包含了一个叫做jqLite的可兼容性库. 使用过的angular.element()方法就返回一个jqLite对象,  jqLite是jQuery库的子集,它 允许Angular以跨 ...

  2. FFmpeg(8)-打开音视频解码器,配置解码器上下文(avcodec_find_decoder()、avcodec_alloc_context3())

    一.avcodec_find_decoder 获取解码器.在使用之前必须保证所用到的解码器已经注册,最简单的就是调用avcodec_register_all() 函数,就像之前注册解封装器的时候,也要 ...

  3. CCardSlip

    该类已经把tableview封装好,可以把它当做一个精灵来用,这样做的好处是,当一个界面同时需要多个tableview的时候就可以很好的解决这个问题,而且模块也更清晰. //------------- ...

  4. SSH登录详解

    1.什么是SSH登录 SSH是一种网络协议,用于计算机之间的加密登录. 相比传统的账户密码登录,SSH提供了一种更便捷安全的登录方式. 2.SSH登录流程 登录操作如下 ssh user@host S ...

  5. 每日英语:Three Shows That Changed The Way Networks Think About Viewership

    As we continue examining this season’s DVR success stories in The Blacklist and Sleepy Hollow it mak ...

  6. 三角形(css3)

    .userCard .sanjiao {//三角形的制作: width: 0; height: 0; border-left: 10px solid transparent; border-right ...

  7. 命令生成和运行android项目

    转自:http://wiki.dourok.info/doku.php/%E7%BC%96%E7%A0%81/android/%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F% ...

  8. 在windows下nginx+django+flup python3

    1.安装python 下载最新的python版本,在本文撰写时为 python 3.4, 下载地址:https://www.python.org/ftp/python/3.4.0/python-3.4 ...

  9. spring mvc之启动过程源码分析

    简介 这两个星期都在看spring mvc源码,看来看去还是还是很多细节没了解清楚,在这里把看明白的记录下,欢迎在评论中一起讨论. 一.铺垫 spring mvc是基于servlet的,在正式分析之前 ...

  10. nginx中的break与last指令区别

    很多人资料说,last与break的区别在于,last并不会停止对下面location的匹配.我理解上模模糊糊.今天自己来测验了一下. rewrite 指令末尾的break应该与单独写break作用是 ...