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