Android: R cannot be resolved to a variable

解决Android开发中Rcannotberesolvedtoavariable的报错
本文详细介绍了在Android开发过程中遇到Rcannotberesolvedtoavariable错误时的多种排查和解决方法,包括检查Android SDK、避免导入Android.R、验证布局XML文件、检查AndroidManifest.xml配置、确保strings.xml引用正确、手动添加控件观察R.java生成情况、清理项目重新构建、重启Eclipse和电脑等步骤。
转自http://hi.baidu.com/mycollection/blog/item/0f53842f8a5f7b251f3089c5.html

Android: R cannot be solved to a variable

Android开发过程中,碰到R cannot be resolved to a variable的报错信息,好像没有很确定的错误原因,一般来说,我总结出几个可能的解决方法,希望试过以后管用。。。

 

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 虚拟机的问题

 

再不行的话,就自求多福了,查查其他地方

报错FAILED: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar /bin/bash out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar.rsp frameworks/base/core/java/android/os/NvRAMAgent.java:261: error: class, interface, or enum expected public byte[] readFile(int file_lid) throws android.os.RemoteException; ^ frameworks/base/core/java/android/os/NvRAMAgent.java:262: error: class, interface, or enum expected public int writeFile(int file_lid, byte[] buff) throws android.os.RemoteException; ^ frameworks/base/core/java/android/os/NvRAMAgent.java:263: error: class, interface, or enum expected public byte[] readFileByName(String filename) throws android.os.RemoteException; ^ frameworks/base/core/java/android/os/NvRAMAgent.java:264: error: class, interface, or enum expected public int writeFileByName(String filename, byte[] buff) throws android.os.RemoteException; ^ frameworks/base/core/java/android/os/NvRAMAgent.java:265: error: class, interface, or enum expected } ^ 5 errors [ 0% 10/1589] Building with Jack: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/with-local/classes.dex FAILED: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/with-local/classes.dex /bin/bash out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/with-local/classes.dex.rsp ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:50.31: The public type Stub must be defined in its own file ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:50.31: Illegal modifier for the class Stub; only public, abstract & final are permitted ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:50.73: NvRAMAgent cannot be resolved to a type ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:56.9: The method attachInterface(IInterface, String) in the type Binder is not applicable for the arguments (Stub, String) ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:63.17: NvRAMAgent cannot be resolved to a type ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:70.38: NvRAMAgent cannot be resolved to a type ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:71.14: NvRAMAgent cannot be resolved to a type ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:74.15: NvRAMAgent cannot be resolved to a type ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:144.41: NvRAMAgent cannot be resolved to a type ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:255.42: IBinder cannot be resolved to a variable ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:256.43: IBinder cannot be resolved to a variable ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:257.48: IBinder cannot be resolved to a variable ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:258.49: IBinder cannot be resolved to a variable ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:260.2: Syntax error on token "}", delete this token ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:261.15: This method requires a body instead of a semicolon ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:262.12: This method requires a body instead of a semicolon ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:263.15: This method requires a body instead of a semicolon ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMAgent.java:264.12: This method requires a body instead of a semicolon ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMPROINFOUtils.java:129.22: android.os.NvRAMAgent cannot be resolved ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMPROINFOUtils.java:144.8: android.os.KSTHandleCharsCheck cannot be resolved to a type ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMPROINFOUtils.java:149.4: android.os.NvRAMAgent cannot be resolved to a type ERROR: /home/server1/server1/fyc/mt6580_go/alps/frameworks/base/core/java/android/os/NvRAMPROINFOUtils.java:149.34: android.os.NvRAMAgent cannot be resolved
最新发布
09-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值