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


当前回答

此外,如果你的res文件夹中有额外的文件,如“desktop.ini”,这些文件是操作系统添加的,但完全没有必要,试着删除它们。这显然是我导入项目中阻碍生成R.java的原因之一。

其他回答

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

尝试使您的新XML布局文件名小写。例如,使用my_file.xml而不是myFile.xml。

首先检查是否有任何错误在任何xml布局,如果然后解决它首先。

否则,从项目中删除junit依赖项并重新构建项目。

根据前面的建议,确保你的Android目标已经设定好:

右键单击项目 选择属性 在左侧菜单中选择Android 在适当的项目构建目标旁边的方框中打勾。 单击“应用”并“确定”

编辑:一年后,我发现了另一个原因。我的可绘制文件夹中有一个。jpg图像,它的名称与。png图像相同。在我的代码中引用这张图像一定是混淆了程序,它给出了“R不能被解析”的错误。

将活动添加到与包的根名称空间不同的名称空间也可能导致此错误。

例如,如果com.example.myapp是包的根名称空间,那么您可以将一个活动添加到com.example.myapp.activities名称空间。

这将产生“R不能被解决”的错误。

要修复导入,活动中默认命名空间中的R应该是:

import com.example.myapp.R;