我刚刚下载并安装了新的Android SDK。我想创建一个简单的应用程序来测试它。

向导创建了以下代码:

package eu.mauriziopz.gps;

import android.app.Activity;
import android.os.Bundle;

public class ggps extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

但是Eclipse给出了错误

R不能被分解

在网上

setContentView(R.layout.main);

Why?

PS:我在res/layout/下有一个名为main.xml的XML文件。


当前回答

我将AndroidManifest.xml文件中的android:versionName从1.0更改为1.1。这重新生成了我的R.java文件,我很高兴。我希望这能帮助到一些人。

其他回答

哇。我通过在所有XML文件和相关资源中跟踪所有可能的错误来解决R问题。我知道这是一些层次,但简单地说,你必须:

确保所有引用的资源映像都在那里 大家都已经提到这么多了,这只是回声…如果需要,删除所有Eclipse注入的R.*导入。 在执行上述操作时,我喜欢重新启动Eclipse。 确保所有XML文件的结构正确。就像,做你的事情。哈哈哈 尽量多写几行。养成经常按Ctrl + Shift + S的习惯,可以快速改变编译器的结果。

Hahah。当然,得到R是很好的,但不能解决固定…

首先查看你的生成文件,看它是否包含你的包名和R.java。 如果它是空的,可能你没有权限创建新文件,所以退出eclipse,然后右键单击,以管理员身份运行,清理项目,一切都会正确。

否则你的XML文件中可能会有错误,或者检查其他答案。

右键单击项目,单击刷新或按F5

检查XML文件的内容。如果layout_width或layout_height包含match_parent元素,则将其更改为fill_parent。这为我解决了问题。

一个更好更有前途的解决方案

关闭Eclipse并打开Workspace目录。 寻找一个名为"的文件夹。然后删除该文件夹。 打开Eclipse。

错误应该消失:)