我刚刚下载并安装了新的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文件。
R不能解决的原因有几个。
大多数情况下,此错误发生在XML文件错误。这个错误可以通过Clean和重建你的项目来解决,也可以重新启动你的android studio。
有时候如果你在AndroidManifest中编码一些错误的东西,这个错误可能会发生,所以请检查这个。
如果资源包含相同的名称或包含无效字符,则会发生此错误。
如果你已经检查了这些,但你仍然面临着同样的问题,那么继续:
当Android Studio无法正确生成R.java文件时,就会出现这个错误,所以你必须遵循以下步骤:
第一步:从app目录中安全删除build文件夹。
步骤2:在Android Studio中,File -> Invalidate cache / Restart
步骤3:构建->清洁项目然后构建->重建项目。
所以构建文件夹将重新生成,希望错误已经消失。
如果仍然发现Error,那么可能您之前已经执行了包名重构。在这种情况下,您可以按ALT + ENTER一起导入R。
通常情况下,这是因为您在创建项目时提供的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下创建的最常见错误之一。