我刚刚下载并安装了新的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文件。


当前回答

我遇到了同样的问题,但找不到哪个xml文件导致了错误。

多亏了这篇文章,我安装了18.1.1而不是19的构建工具,它显示了有缺陷的文件。看起来版本19并没有显示实际的错误。

希望它能帮助到一些人:-)

其他回答

对我来说,这是因为错误的java编译器版本。 项目属性-> Java编译器,启用“启用项目特定设置”,并选择您的“编译器遵从级别”

只是清理和重建你的项目有时会有帮助

确保在android中的res/drawable文件夹中没有错误。在命名此文件夹中的图像时,不要给出数字和大写字母。

检查你导入到应用程序中的库项目是否都是打开的。

出于某种原因,如果你没有向活动添加任何东西,比如onCreate(),它就不会理解R是什么。

当你得到

R不能被分解

然后检查/res目录,一定有一些文件有一些错误,这是阻止应用程序被构建。例如,它可能是一个布局文件,也可能是由于某些缺少的资源,但您已经在XML文件中定义了它。

如果您在res/ drawabiles -mdpi这样的文件夹中有任何附加的,甚至是未使用的(!)或未引用的(!)图像,这些图像不符合文件命名约定(可能只包含[a-z0-9_.]), R.java类可能不会生成,导致所有其他帖子引用的事件链。

从这里提供的许多答案来看,帮助我的是在java构建路径的“order and Export”中更改顺序。

1.单击您的项目->项目属性

2.Java构建路径

3.订购及出口

将Build类路径的顺序更改为

1 .(软件包名称)/ src

2.Android(版本号)

3.Android依赖关系

4 .(软件包名称)/ gen