Eclipse ADT中The import com.projectname.R无法解决及相关问题求助
解决Eclipse ADT中R文件导入与资源ID找不到的问题
嘿,这个问题在Android开发初期太常见了!我来给你捋清楚根源和解决办法:
首先,你导入android.R是个误区——这个类是Android系统自带的资源类,里面只有系统内置的资源ID(比如android.R.id.text1),根本不包含你自己项目里定义的id1这类自定义资源,所以才会出现id1 cannot be resolved的错误。而最初的The import com.projectname.R cannot be resolved,本质是你的项目没有自动生成自己的R.java文件,这才是核心问题。
下面是一步步的解决步骤:
第一步:移除错误的导入
先把代码里的import android.R;删掉,这是关键前提。
第二步:排查R文件无法生成的根源(重点)
R.java是ADT根据你项目里的资源文件自动生成的,一旦资源文件有问题,它就会停止生成。你需要检查这些地方:
- 资源文件语法错误:检查
res/目录下的所有文件,尤其是最近修改的layout、values(比如strings.xml、styles.xml)、drawable文件夹:- XML标签有没有闭合?比如
<TextView>有没有对应的</TextView>? - 资源命名是否合规?不能有大写字母、空格、特殊字符(下划线
_除外),比如图片文件名不能是MyImage.png,得改成my_image.png。 - 字符串资源里有没有未转义的特殊字符?比如
"、&需要转成\"、&。
- XML标签有没有闭合?比如
- 清理项目缓存:点击Eclipse顶部菜单栏的
Project→Clean,选中你的项目后点击OK。这会触发ADT重新编译资源并生成R.java。 - 检查SDK版本配置:右键项目 →
Properties→Android,确认你选中的Target SDK是已经安装的版本(如果没安装,打开SDK Manager去下载对应版本),同时确保Compile With的版本和Target版本匹配。 - 重启Eclipse:有时候ADT的缓存会比较顽固,重启一下IDE能解决很多奇怪的问题。
- 依赖库问题:如果你的项目依赖了其他库项目,要确保库项目已经正确编译,并且依赖配置没有问题(右键项目 →
Properties→Android→Library里检查)。
第三步:正确导入自己的R类
当R.java成功生成后,Eclipse通常会自动帮你导入com.projectname.R(如果你的类和R类在同一个包下,甚至不需要手动导入)。如果需要手动导入,一定要导入你自己项目包名的R类,比如import com.yourprojectname.R;,绝对不要碰android.R(除非你明确要使用系统自带的资源)。
只要按照上面的步骤排查,基本都能解决问题。
内容的提问来源于stack exchange,提问作者JohnConnor
相关产品推荐
相关产品推荐

