作者PEIRON (PEIZON)
看板AndroidDev
标题Re: [问题] R cannot be resolved to a variable
时间Mon Aug 19 14:35:38 2013
大家好,我是 Android 的开发新手。
我依照网路上的教学下载了最新版的 ADT Bundle
(Ref: http://blog.chinatimes.com/tomsun/archive/2012/11/27/4233067.html )
并新增了一个 Android Application Project 专案
(Ref: http://blog.chinatimes.com/tomsun/archive/2013/04/09/6729237.html )
结果新增的专案显示编译错误「R cannot be resolved to a variable」
我google这个错误讯息,网路上是说在gen资料夹中缺少 R.java 档,
可是我怎麽弄都没办法把 R.java 档弄出来Q_Q
我的作业系统: XP 32bit
我下载的adt bundle 版本: adt-bundle-windows-x86-20130729.zip
(下载时未显示板号,我想这压缩档的日期应该能表示版本)
(From: http://developer.android.com/sdk/index.html )
我的 ADT 自动产生的专案内容: (一字未改就出现错误~"~)
https://dl.dropboxusercontent.com/u/29687552/HelloWorld.rar
新增专案时,
我的Application Name: HelloWorld
我的Project Name: HelloWorld
我的PackageName: com.example.helloworld
其他都依照预设值
以下是自动产生的MainActivity.java档内容: (同步张贴於
http://ideone.com/9x2alh )
package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(
R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it
getMenuInflater().inflate(
R.menu.main, menu);
return true;
}
}
错误发生在第12行 setContentView(
R.layout.activity_main);
与第18行 getMenuInflater().inflate(
R.menu.main, menu);
编译器给的详细错误内容:
Description Resource Location Type
R cannot be resolved to a variable MainActivity.java line 12 Java Problem
R cannot be resolved to a variable MainActivity.java line 18 Java Problem
我试过了
1. Project -> Clean
2. 先 import android.R 再重新 Project -> Clean
3. 某篇文章说问题点是专案中的物件都应该是小写组成,於是我把自动产生的
「AndroidManifest.xml」改名成「android_manifest.xml」并删除 import android.R,
还有删除所有「Thumb.db」再重新 Project -> Clean
(Ref: http://www.mybringback.com/travis-android-help/44/android-development-travis-cannot-be-resolved-or-is-not-a-field/ )
4. right clicking on your project -> android tools -> fix project properties
5. Build Automatically / 手动Build Project,两种 Build 方式都试过了
6. Project Properties > Java Build Path > Tick Android Version Checkbox
(Ref: http://www.codeofaninja.com/2011/05/fixed-r-cannot-be-resolved-to-variable.html )
7. See if the xml files in the Package Explorer tree have an error-icon
我展开 Package Explorer 中各个资料夹,除了 MainActivity.java 这线以外
没看到有其他 tree node 显示类似 error-icon 的图示
8. 重新安装过 ADT Bundle
9. 重新开过多次 Android Application Project
10. 重开 eclipse
都无法解决问题,希望各位高手能指点迷津一下Q_Q
PS: 其他有一些解决方法是删除 R.java 让他重新产生,
但我的 gen\ 资料夹从头到尾都没 R.java 这个东西呀 囧
PS2: 网路上有一些解法我看不懂的就没全尝试了
(ex: 切换到 android root 再切换到 eclips folder?
阿他们不是已经 bound 在一起了吗~"~? )
因此恳请各位高手描述时尽量多花一点字解释一下 XD
如果有需要我查看系统的什麽设定/附上哪边的截图,都可以跟我讲:)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.20.210.132
1F:→ KeySabre:res资料夹下的东西检查看看? 08/19 15:26
2F:→ PEIRON:请问需要检查些什麽? 08/19 15:28
3F:→ PEIRON:程式码中使用的 res\layout\activity_main.xml 存在 08/19 15:30
4F:→ PEIRON:res\menu\main.xml 也存在 08/19 15:30
5F:→ PEIRON:所有xml档档名都是小写,其他的我不知道要检查什麽了/_\ 08/19 15:31
刚刚又 google 到可以检查 xml档 是否有 error 图示
我检查了所有 xml档没看到有类似 error 图示的东西/_\
6F:→ asadman1523:如果城市都没错误就会自动产生R档 08/19 19:20
问题是我找不到错误Q_Q
7F:推 givemepass:生不出R档 大多是xml有写错多个符号之类的(经验) 08/19 20:04
8F:推 givemepass:不然你就整包code丢上来 让大家看看比较快了 08/19 20:07
我直接开一个新的 Android 专案,一个字都没打,就出现错误了....
以下是ADT自动产生的专案内容
https://dl.dropboxusercontent.com/u/29687552/HelloWorld.rar
9F:→ KeySabre:一开始也常有R档鬼打墙经验,多半是看看console有没有什 08/20 05:30
10F:→ KeySabre:麽error、xml有没漏写、manifest是不是没sync、有没有按r 08/20 05:30
11F:→ KeySabre:efresh、… 08/20 05:30
12F:→ KeySabre:把build automatically取消後clean build也许有点用 08/20 05:31
你好棒~! 就是缺了他!
感谢各位,R.java 出来了,现在我要来研究怎麽测试执行这个专案了:)
※ 编辑: PEIRON 来自: 211.20.210.132 (08/20 11:05)