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


当前回答

哦,上帝,我是Linux (ubuntu),我是这样解决的:

第一件事的问题是权限问题,我没有看到任何权限相关的错误,但这是问题。该工具没有可执行权限。

因此,这只是一个快速修复(如果您知道需要可执行权限的确切文件,则专门对它们应用ff命令)。

更改到你的sdk的目录,然后:

sudo chmod +x -R .

之后去项目->清洁->选择你的项目->清洁

这招对我很管用!

其他回答

在我的情况下,R.java没有生成,因为在AndroidManifest.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中重命名包名

安装所有Android SDK构建工具,并删除导入Android。R在你的活动课上。单击项目后->清洁

import android.R;

值得在AndroidManifest.xml中检查一下。属性包的值正确。

那就是:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="your.correct.package.name"
   ...

更改后,将重新生成R.java。

按Alt+enter并导入

or

Ctrl + F9

和解决。