我发现我的R.java从未更新过,因此它不包含有关新资源的信息,因此我决定删除它,并认为Eclipse会生成一个新资源。但这没有发生,而且我现在没有R.java。如何重新生成一个?
我正在使用Windows 7。
从其中一项评论中:“执行项目 -> 清理对我造成了问题。清理会删除R.java ...,并且无论出于何种原因,插件都不会重新生成文件。”
我发现我的R.java从未更新过,因此它不包含有关新资源的信息,因此我决定删除它,并认为Eclipse会生成一个新资源。但这没有发生,而且我现在没有R.java。如何重新生成一个?
我正在使用Windows 7。
从其中一项评论中:“执行项目 -> 清理对我造成了问题。清理会删除R.java ...,并且无论出于何种原因,插件都不会重新生成文件。”
Answers:
该网站建议:
如果在项目上运行干净,它将重新生成所有生成的Java文件,即R。
...和...
在Eclipse中,“项目”菜单下的选项自动生成。这将有助于您在每次进行修改时构建R.java文件。“清洁...”选项也位于“项目”下。
该站点提出了另一种解决方案。
R.java
,而不是重新生成它。stackoverflow.com/questions/13065425/...
我发现这种情况发生在我的布局破裂,一切都炸毁了。放松,这就像是您第一次学习C语言时忘记了一个分号并产生一百个错误的古老错误。许多人惊慌失措,按下所有按钮,使情况变得更糟。
R.
链接的所有内容均未损坏。修复XML文件中的所有错误。如果ADK中的任何内容损坏,R
将不会重新生成。import android.R
在您的活动中创建了它,请将其删除。Menu -> Project -> Build Project
。当您的XML文件损坏时,通常会发生这种情况。
/res/
文件夹中的错误/layout/
和/values/
,尤其是如果您最近更改了其中一个AndroidManifest.xml
。我发现我经常会更改字符串,而忘记从中更改字符串名称AndroidManifest.xml
。Android SDK Build-tools
是否已安装。窗口-> Android SDK管理器->工具-> Android SDK构建工具Android SDK Tools
,还更新Android SDK Platform-tools
和Android ADK Build-tools
。如果不匹配,构建会静默失败。我遇到过同样的问题。当我检查出它时,发现布局下的XML资源名称没有正确的命名约定。它有一些大写字母。因此,我将其重命名为使所有字母都变为小写,并且魔术起作用了。
清单中的软件包名称必须与/src
文件夹中的软件包名称相同,/gen
文件夹软件包将被自动复制。
观察/gen
文件夹中的软件包名称。就我而言,它不同于/src
文件夹中的文件夹。
清单中引用的软件包是/gen
文件夹的软件包。
我试图将一个带有/src
文件夹名称的软件包添加到该/gen
文件夹中,以便查看会发生什么,但这并不能解决问题。然后,我继续删除与/src
文件夹的软件包名称不同的软件包名称。/src
我删除该文件夹后,便立即重新创建了名称与该文件夹不对应的软件包。
由于在清单对应于一个正被无谓重新创建,并且不与包中对应的包参考/src
文件夹,这提示重命名package = "oldPackage"
与package = "srcFolderPackage"
。
作为Glaux答案的概括,如果目录中有任何错误res
,则即使清理并重建R.java也不会生成。首先解决这些错误。
例如:当添加一个名为“ myimage-2.jpg”的图像文件时,由于文件名限制为字母数字值,系统将认为此错误。添加任何文件后,在“ res”目录上进行刷新,并在控制台窗口中查看输出,以获取任何文件名警告。
如果您的操作系统是Ubuntu,我可以提供一些建议:
安装或升级ia32-lib:
sudo apt-get upgrade ia32-libs
检查您是否对aapt文件夹具有正确的权限:
cd ANDROID/adt-bundle-linux-x86_64-20130522/sdk/build-tools/android-4.2.2
chmod 777 aapt
启动Eclipse:
sudo eclipse
在Eclipse中运行Project-> Clean
清理项目,关闭Eclipse,重新打开它并启动我的项目,终于使我的R.java重新出现了……希望对您有所帮助
在阅读了许多帖子和YouTube视频之后,我发现我们每个人都R.java
因不同的原因而失踪。
这是我在Eclipse中解决此问题的方法:
gen
文件夹中手动创建R.java 并保存。将显示以下消息,并且您的文件将自动被重写:
R.java是手动修改的!恢复到生成的版本!
我有这个问题。我不小心删除了这个
xmlns:tools="http://schemas.android.com/tools"
这开始在我的XML文件和Java文件中的整个项目中引起构建错误。重新输入删除的内容后,它又可以正常工作了:)
好的,因此很明显,可能有很多原因导致此问题。如果您使用的是64位linux计算机,并且只是第一次设置ADT,则可能会遇到R无法自动生成的问题。检查控制台选项卡,您可能会看到类似以下的错误:
'No such file or directory' while attempting to get adb version from '/home/patrick/code/android-sdks/platform-tools/adb'
如果是这种情况,则需要使用以下方法安装ia32-libs:
sudo apt-get install ia32-libs
详情请参阅这里:找不到Android adb
我已经遇到过几次这个问题。我发现,如果我没有通过应用程序的名称导入软件包R,例如,如果我的应用程序具有软件包名称example.test,那么我发现必须导入example.test.R才能访问任何资源。
如果未导入,则返回的资源是默认资源,不包括我自己的资源。
这样说来,如果您发现只获取默认资源列表,则只需检查以确保您要导入的是application_package_name.R而不是android.R。
我的问题是在菜单文件中。如果strings.xml
菜单文件中引用了内部不存在的字符串,则编译器似乎没有警告您。检查item
菜单XML文件中的s 是否引用了您的xml中不存在的任何字符串strings.xml
。通常在android:title
。
我找到了一个解决方案,为什么在重新创建Eclipse之后不创建R.class-2进行清理,构建等。
问题在strings.xml中:
<string name="hello">Hello World, HelloAutoComplete!</string>
<string name="app_name">HelloAutoComplete</string>
默认情况下,这些是由Eclipse在创建项目时创建的。
无疑,您正在根据自己的需要更改strings.xml。有时,您可以从代码中清除string.xmls这两行:
AndroidManifest.xml文件中出现问题:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloAutoComplete" android:label="@string/app_name">
因此它无法与strings.xml通信。