Android开发中遇到这样的错误:R cannot be resolved to a variable,网上的解决方法各种都试过没有解决,那么可能是这样的原因。

我电脑的开发环境不算是全新搭建的,其中的Android SDK是很早之前就有了,Eclipse是新安装的,于是我从Google官方网站下载了一个最新的SDK把旧Android-SDK改名,这样Eclipse启动就加载了新SDK,竟然问题这样解决了。

网上有人说是有XML有错误导致的,可是我全新建的项目也是报这样的错,如果大家遇到这样的错,那么最简单的方法应该是:

全新建个项目看是否依然出错,如果是的话,那么好,重新更新 Android SDK 吧,反正我是解决了,不一定能解决大家的问题。

以下来自网络的方法:

1. 检查Android 的SDK是否丢失需要重新下载,检查build path
2.确保class没有import Android.R;
3,错误class引用的layout的xml文件没有错误
4.检查AndroidManifest.xml文件,里边的package,layout配置文件,strings.xml等的字符串全部书写正确
5.layout的xml文件中引用的strings.xml中的字符串拼写完全正确
6.在layout 的xml文件手写添加一个控件,看id能否在R.java中自动生成,如果不能,那很大可能就是这个layout 的xml文件有问题,查看格式是否使用正确,或者包含什么非法字符串,或者调用到了不正确的字符串,等等,可以使用排除法,挨个去掉控件,直到发现error message消失或者id能在R.java中自动生成。
7.删掉gen文件夹,使R.java重新自动生成一次,如果不能生成,继续检查layout的xml文件是否有如上不易发觉的问题
8.Clean project ,重新build,或者重新import project。
9.重启eclipse
10.重启电脑,以防Android 虚拟机的问题

发表评论

/ 快捷键:Ctrl+Enter
加载中……