我刚刚下载并安装了新的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中的包而导致的问题

另一种选择是使用内置工具重命名包,这将照顾到大多数问题,避免R not found问题。

Right Click on the project
Click on Android Tools
Click on Rename Application Project
Enter the new package name

然后将出现一个弹出窗口,要求应用更改,包括R工作区。

在android中重命名包名

其他回答

通常情况下,这是因为您在创建项目时提供的MinSDK版本号。例子:

如果你想把2.1作为最小值,Android 2.1实际上是API Level 7。

当你浏览下载并安装的SDK时,你就会明白我在说什么。导航到你安装SDK的地方(C:\android-sdk-windows为例),打开名为“平台”的文件夹。你会看到像“android-7”这样的东西被列为一个文件夹,如果你打开它,就会有一个源代码。属性文件,当用文本编辑器打开时,将显示相应的平台版本。

当你创建一个项目时,你必须选择一个“Build Target”API,该列表中名为“API Level”的最后一列显示了你在填充MinSDK设置时所寻找的数字。

这可能是导致R.java文件没有在Project > gen > packagename > R.java下创建的最常见错误之一。

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.

这个错误突然出现在我的x64 Linux Mint安装中。结果是ADB二进制文件失败,因为没有安装ia32-libs包。只需运行apt-get install ia32-libs并重新启动Eclipse即可修复该错误。

如果你的x64发行版没有ia32-libs,你将不得不使用Multiarch。

检查这篇文章的#4和#5: http://crunchbang.org/forums/viewtopic.php?pid=277883#p277883

希望这能帮助到一些人。

我认为问题出在layout.xml文件或import语句中。

请确保您没有导入R.android。,而不是导入R.YOUR PACKAGE NAME..

它会工作得很好。

R在android项目中是自动生成的资源,有时会发生这种情况,不知道为什么,但你试着从项目中自动生成选项

删除其他项目或android.r文件的其他导入 =>总是记住,如果你总是面临自动生成id或自动删除R文件的问题,你可以生成静态id,如字符串文件,并使用@id而不是@+id