Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法解析R-Android错误_Android_Eclipse_Compiler Errors_Android Resources_Android Sdk Tools - Fatal编程技术网

无法解析R-Android错误

无法解析R-Android错误,android,eclipse,compiler-errors,android-resources,android-sdk-tools,Android,Eclipse,Compiler Errors,Android Resources,Android Sdk Tools,我刚刚下载并安装了新的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 publi

我刚刚下载并安装了新的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);
    }
}
但是给了我一个错误

R无法解决

在线

setContentView(R.layout.main);
为什么?


PS:我确实在
res/layout/
下有一个名为
main.XML的XML文件,它是一个生成的类。如果您使用的是,则无论何时生成项目,都会生成它。您可能已关闭“自动生成”。

R是一个自动生成的类,其中包含用于标识资源的常量。如果您没有R.java文件(在带有1.5SDK的Eclipse中是gen/eu.mauriziopz.gps/R.java),我建议关闭并重新打开您的项目,或者转到project>Build all(并按照约瑟夫的建议在那里选择“Build Automatically”)。如果这不起作用,那就试着做一个新的项目,如果问题再次出现,就在这里再次发布,我们将更详细地讨论。

威尔说的是对的


R是一个自动生成的类,它保存用于标识>资源的常量。如果您没有R.java文件(它将是gen/eu.mauriziopz.gps/R.java in>Eclipse with 1.5sdk),我建议关闭并重新打开您的项目,或者转到>项目>全部构建(并根据>约瑟夫的建议选择“自动构建”)。如果这不起作用,那就试着做一个新的项目,如果问题被重新创建,那么就在这里再次发布,我们将更详细地讨论

但我发现还有另一个问题导致了第一个问题。SDK目录中的工具没有要执行的权限,因此就好像Eclipse不存在一样,因此它没有构建
R.java
文件

因此,修改权限并选择“自动生成”解决了问题

我的项目包含了一个r.java.r.layout.main。在开始时,r.layout.main工作得很好。但是,添加一些代码后,它不工作,错误是r.layout.main无法解决。问题是什么

看看你的进口货。可能的情况是:

import android.R;

我会在那儿的。如果是这种情况,请删除它,这样您的项目将不会使用默认的Android资源类,而是使用从/res/文件夹自动生成的类来解析R。

我也遇到了这个问题。原来我无意中从
strings.xml
文件中删除了“app_name”字符串资源,这导致了一个无声错误。一旦我把它添加回来,R类就成功生成了,所有的东西都备份并运行了。

如果有人感兴趣(我可能在这里救了你的命),我有一个错误,
R.xml
无法解决,在GLS项目上略有不同。嗯。在查看
R.java
之后,我发现一个自动生成的类,
XML.java
,(我想)不在那里

解决方案?它需要在
res
中新建一个文件夹:
res\xml
和一个名为
default\u values.xml
在那里。然后一切都好了

以防您没有该文件,它是:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">
</PreferenceScreen>


每当我遇到R未生成甚至消失的问题时,这都是由于XML布局文件中的某些问题导致无法构建应用程序。

R.java
是Android Eclipse插件在运行时创建的文件 构建应用程序
R.java
是在“gen”下创建的 目录此文件是根据“res”中的信息生成的 目录如果在Eclipse上运行,请选择“Project”->“Clean…” 菜单,它将删除并重新生成
R.java
文件

“R无法解决”问题发生在您更改
AndroidManifest.xml
文件中的包名称。它使用你的安卓系统 用于在“gen”目录下创建子目录的包名称,其中 它存储
R.java
文件

Eclipse在执行clean时可能会遇到问题,因为它对 其中
R.java
文件是在您更改Android软件包时出现的 名称您可以重命名
gen
下的子目录以匹配您的 新建程序包名称,或者您可以将程序包名称更改回旧名称 名称进行清理,然后将包名称更改为新名称 你想要的。如果您阻止Eclipse尝试构建,这将是最有效的 当您更改包名时。在“项目”菜单下 取消选中“自动生成”选项,并且在 “清理…”对话框询问是否应“立即启动生成” 取消选中该框,以便在您更改 包名。更改名称后,可以打开“Build” 自动“重新打开”

请注意,如果您的
AndroidManifest.xml
文件包名称不匹配 您的Java包名Eclipse将自动添加 在所有
.java
文件中输入“import.R;”行 如果您更改
AndroidManifest.xml
包名称,有时Eclipse不会更新所有添加的 进口。如果发生这种情况,请使用Eclipse重构(ALT+ Shift+R)将其中一个Java文件中的import语句更改为 新的
AndroidManifest.xml
包名。最好这样做
禁用“自动生成”后,请检查XML文件名。确保它们都是小写的


还要确保所有图像资源名称也都是小写的。我的jpg文件名中有一个大写字母,它在整个项目中导致了R未解决的错误。

另一个原因是
R.java
可能无法自动生成,如果您有res/drawable hdpires/drawable mdpires/drawable ldpi等目录

1.6+似乎可以使用这些目录,但1.5不需要它们。当我删除这些目录时,
R.java<
import com.example.myapp.R;
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="your.correct.package.name"
   ...