我刚刚下载并安装了新的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 drawables:
[2015-11-26 18:59:48 - MyAndroidApp]
/Users/myname/git/MyAndroidApp/res/menu/drawer_view.xml:24:
error: Error: Resource is not public. (at 'icon' with value
'@android:drawable/ic_menu_home').
有趣的是,直到我使用图标删除了对文件的引用,这个错误才出现在控制台中。
android:entries="@menu/drawer_view"
现在解决方案非常明显,将图标复制到我的项目(res/draw - xxxx /)并切换到本地引用。
@drawable/ic_menu_home
希望这能有所帮助。
通常情况下,这是因为您在创建项目时提供的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下创建的最常见错误之一。