在开发过程中,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的值后,只要保存一下就可以成功。