我刚刚下载并安装了新的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);
为什么?
PS:我确实在res/layout/下有一个名为main.xml的XML文件。
#1楼
我的项目一开始就包含一个r.java。,R.layout.main工作正常。但是,在添加一些代码后,它不起作用,并且错误是R.layout.main无法解决。是什么问题?
看你的进口。 该行可能是:
import android.R;
将在那里。 如果是这种情况,请将其删除,这样您的项目将不使用默认的Android Resources类来解析R,而是使用从/ res /文件夹自动生成的R来解析。
#2楼
连同先前答案中的好建议,请确保已设置您的Android目标:
右键点击您的项目
选择属性
在左侧菜单中选择Android
在适当的项目构建目标旁边打勾。
单击“应用”,然后单击“确定”。
编辑:一年后,我发现了另一个原因。 我的可绘制文件夹中有一个.jpg图片,其名称与.png图片相同。 在我的代码中引用此图像必须使程序混乱,并且给出了“ R无法解析”错误。
#3楼
不幸的是,现有问题均无济于事。 由于我的问题似乎是特定于平台的,因此这仅在您使用Ubuntu 64位 (我当前正在使用Ubuntu 12)时才有效。 最初,我没有看到“问题”窗口,该窗口已经暗示了一个解决方案,即在64位环境中,您需要32位库,这可能会丢失:
sudo apt-get安装ia32-libs
我安装了软件包并重建了项目,这为我解决了这个问题。
#4楼
还有可能导致此问题的另一件事:
我安装了新的ADT(v。22)。 它停止创建包含R.java gen文件夹。 解决方案是从Android SDK Manager安装新的Android SDK构建工具。
解决方案在这里找到
#5楼
我也有这个问题。 原来,我无意中从strings.xml文件中删除了“ app_name”字符串资源,这导致了静默错误。 一旦将其添加回去,R类就可以成功生成,并且所有内容都可以备份并运行。