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


当前回答

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

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

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

其他回答

I would say "R can not be resolved" is something too general and can be misleading at times. I also had the same problem many times ago even when I first create a new project (which mean I did not mess with the code yet). Most of the time I just need to update my sdk manager (as some people have mentioned). But in my recent case, I found out that the path to my project file is too long (something like this E:\R&D\ANDROID\ANDROID BASIC\Folder 1\ Folder 2\..... \Folder n\MyProject). The folder names also contain spaces character. I thought it could be the case and indeed it's true, when I created a new project in another folder with shortest path possible, and none of the folders' names containing space character, it worked as normal.

我的项目有一个r.java.在开始,R.layout。主要工作好。但是,在添加了一些代码后,它不能工作,错误是r.b ayout.main不能解决。有什么问题吗?

查看您的导入。很有可能这句话是:

import android.R;

会在那里。如果是这种情况,删除它,这样你的项目就不会用默认的Android资源类来解析R,而是用从你的/res/文件夹自动生成的类来解析R。

我也面临着同样的问题,我在谷歌上搜索并尝试了我找到的建议,但没有一个对我有用。我改变了我的工作空间,它起作用了,但在改变你的工作空间之前,试试其他的工作方法。任何一个都可能对你有用。

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

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

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

威尔说的对吗

R是一个自动生成的类,它包含用于标识>资源的常量。如果你没有R.java文件(它将是gen/eu.mauriziopz.gps/R.java在>Eclipse与1.5 SDK),我建议关闭和重新打开你的项目或去>项目>构建所有(并选择“自动构建”,而>Josef的建议)。如果这不起作用,那就尝试做一个新项目,如果问题是重新创建的,那么>帖子在这里再次发布,我们将更详细地介绍。

但我发现还有另一个问题导致了第一个问题。SDK目录中的工具没有被执行的权限,所以它就像Eclipse不存在一样,因此它没有构建R.java文件。

因此,修改权限并选择“自动构建”就解决了这个问题。