Android --- Eclipse 初学者蛋疼般的错误

来源:互联网 发布:手机网络修复大师 编辑:程序博客网 时间:2024/06/05 11:56
出现问题的解决经验是:
3个原则:
1,不求助所谓技术Q群。
2,从源头找问题。
3,参考网络信息,靠自己解决。

1,类添加getters and setters 出现:

The operation is not applicable to the current selection .Select a field which is not declared as type variable or a type that declares such fields .


原因:没有把添加位置放在类内。



2,工程project  explore 总是打不开,显示不出来

如图:



这个时候应该如图选择打开视图Open perspective,选择其中一个文件,比如我们文件中已知有xml文件,那我们就选择这个文件,点击OK.



这个时候,我们可爱的project explore终于出来了,而且是出现多个包。

3,SDK  run一个新的xml文件时总是在模拟器/真机显示上一次的activity

如图,我上一次的xml文件是线性布局文件linear_layout,第二次新建一个工程,写的xml文件是框架布局文件frame_layout,run一下,显示的总是linear_layout视图:

这个时候我们看到project explorer 里面的android_frame_layout工程包里居然有android_linear_layout工程文件:


我们试着delete 它看看,run一下尚未完成的新的工程,结果果然可以了:(实际上这个问题的解决也就让我们很快找到下一条常犯错误的原因)

4,导入工程Improt Projects 出现 Some projects cannot be imported because they already exist in the workspace

第3个问题的解决实际上给我解决这个问题带来了一个新的思路。一般这种问题网上人云亦云的说法是:IDE的workspace中已经存在了相同名字的项目,所以不能导入,所以一般的解决办法是:
1、right click — refactor — rename
2、workspace中要修改名字的项目 — 打开.project文件 — 修改<name>myprojectName</name>  (myprojectNamey就是我们的工程名)
事实上,如果忽视了一个重要的问题,上面的方法是不能解决问题的。
这个问题就是,当你重新新建一个工程的时候,你把新的工程建在同一个路径下的androidbook文件夹下时,可能就会把原来的工程放在同一个包下。这个时候你应该用上面第3个问题的解决方法delete掉。因为就算你把新工程建在其他路径的androidbook也无法解决这个问题的。
让我们来做个试验:
1)在我们新建一个新的工程时,旧工程即使被close all,也可能无法import一个新的工程,这个时候我们应该去project explorer 看看是否还有旧文件存在。如图所示:


2)如果真的存在,close All 是没用的,重启是没用的,尤其是在我们project explorer 打不开的时候,我们不知道是否已经有工程文件包含在里面了。最好的方法目前还是delete掉它,然后再import。



delete的时候不用勾选删除源文件:



然后ipmort,可以成功了:





run 一下,果然可以成功:


5,安卓开发过程将目标版本target改成其他版本时出错

比如新建工程时的target SDK为4.4.2版本,开发过程通过Properties更改了版本号时,就会使MainActivity.java中出现R cannot be resolved to a variable的错误,如图:



同时在res/value-v11,res/value-v14中出现错误:error: Error retrieving parent for item: No resource found that matches the given name 
 'android:Theme.Holo.Light.DarkActionBar'.
这个时候最好是改回原来的版本。


6,AVD manager在Eclipse显示不出来

如图:



在排除了安装失败等不正常的因素下,可以选择:Eclipse ->window->customize Perpective->Command Groups Availability中的AVD manager即可:

,

7,main cannot be resolved or is not a field

这种问题出现java文件中,有2种出错的原因:

一种是众所周知的因为import android.R的原因:添加了import android.R

android.R是系统提供的资源,R是应用程序的资源。删除"import android.R"之后工程就是从/res文件夹下自动生成的资源文件里去解析了,否则它会从Android的资源类里去找。

另外一个原因是layoutd的xml文件名和你在java中使用的不一样。比如layout中xml文件名为activity_main.xml,而在java中使用时却写成main.xml,所以会出错。果然蛋疼无比。

8,SDK Manager.exe打不开

sdk manager调用的是<sdk>\tools\lib里面的find_java.bat,但是java会把java.exe复制到windows\system32里面,所以会错误,检查windows\system32里面,如果有java.exe,javaw.exe等带有java的可执行文件这些都删掉就好了。(转帖)


9,could not find SDK folder

这种原因来得很奇怪,因为如图D-Tool是另外一个电脑上文件,居然在这台电脑上重新下载安装的SDK中出现!


 

不管怎么样,还是总结出了解决方法:如图选择open preferences ,选择当前系统下的SDK目录即可。


1 0