Android R文件没有生成

时间:2013-05-24 01:49:33

标签: android eclipse r.java-file

我知道有很多线索关于此但我找不到解决我的问题或重复的问题。

所以我正在开发一个应用程序,意外地犯了清理我的项目的错误。这导致我的R.java文件消失。我再次尝试清理我的项目,再次构建它,关闭eclipse,删除gen文件夹,检查所有xml文件是否有错误,所有这些。

现在问题是每当我创建一个新的完全空白的应用程序项目时,它甚至不会自动生成R文件。我希望还有一种方法可以恢复我的原始项目,但正如我所说,似乎没有任何工作。

16 个答案:

答案 0 :(得分:12)

可能是您已删除

  <string name="action_settings">Settings</string>

在strings.xml中,但未删除菜单文件夹中的main.xml文件。

答案 1 :(得分:7)

您是否尝试过检查目标API,也许api很低 右键单击您的项目&gt;&gt;属性&gt;&gt; andriod&gt;&gt;检查正确的API或检查是否有任何错误并首先修复它们这些步骤使我的r文件产生希望它使你的

答案 2 :(得分:3)

我刚刚有过这样的经历。在我的AndroidManifest.xml中,提到了一个不存在的主题。

例如。

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme_Lorem" >

应用程序主题中没有AppTheme_Lorem

答案 3 :(得分:2)

如果新创建的项目不生成R.java文件,则很可能 adb 未运行。

解决方案:

  1. 确保在/ SDK文件夹/ p​​latform-tools / adb
  2. 中有一个名为 adb 的可执行文件
  3. 如果您使用的是Linux平台,请确保它未锁定且可执行。

    右键点击adb - &gt;权限 - &gt;勾选“执行/作为程序运行”复选框。

答案 4 :(得分:1)

如果任何资源文件名包含Caps Letter,则表示不生成R.java文件。否则,您可以修改某些更改或在Android Manifest文件中放置空格并保存项目。如果未生成,则表示您可以使用项目清理或关闭编辑器并重新打开它。它会起作用。

答案 5 :(得分:1)

我有同样的问题。在我的drawable文件夹中,在eclipse无法生成R文件之后我添加了一个文件video_Icon.jpg

要解决此问题,我将文件名更改为video_icon.jpg,并且确实有效。

答案 6 :(得分:1)

如果以上解决方案均无效,您可以右键单击您的项目,转到 Android工具并选择运行Lint:检查常见错误< / strong>即可。 通常,你的xml文件中的某些内容会阻止R文件被重新生成,最糟糕的是有些错误没有被标记为“错误”。 在我的情况下,在drawable文件夹中命名图像存在问题...作为初学者的一条建议,不要使用驼峰大小写的xml变量(图像名称按钮等)

答案 7 :(得分:0)

如果您最近将SDK工具更新为R22版本,则可能会发生这种情况。 This answer讨论了解决方案:检查项目和每个库的Java Build Path的order / export选项卡中的所有框。

答案 8 :(得分:0)

首先,如果您使用R22,请尝试将其降级为R21。我几天前尝试过R22,它真的搞砸了我,我们应该等待另一个稳定的。然后点击你的项目,然后按F5刷新它,有时Eclipse只是想弄乱你。

答案 9 :(得分:0)

重新安装ADT捆绑包。为我工作。

答案 10 :(得分:0)

检查是否有导入android.R;

此处不要使用android.R,而是为每次使用使用完全限定名称

答案 11 :(得分:0)

对于迟到的回复感到抱歉,但我认为这可以让任何遇到此问题的人有所了解。

当未生成R文件时,通常意味着其中一个布局存在问题。它可以引用具有语法错误的清单文件或其中一个布局文件本身。

另一个原因可能是图像文件包含大写字母。将其全部更改为小写,并使用下划线而不是图像文件名中的空格。

答案 12 :(得分:0)

这对我有帮助,安装Intellij IDEA IDE社区版并打开eclipse android项目。对我来说,Intellij在我的res文件中显示错误,这是eclipse没有显示的。

我使用Intellij解决了问题。虽然在解决问题后我再次使用Eclipse。

我尝试了每一个答案,但无法解决问题。最后,Intellij IDEA IDE提供了帮助。资源文件中存在问题是正确的。

答案 13 :(得分:0)

尝试以下步骤可能对您或其他人有帮助:

  • 确保R链接到的任何内容都没有损坏。全部修复    XML文件中的错误。

  • 如果SDK中的任何内容被破坏,R将无法重新生成。

      If you somehow hit something and created import android.R in your
      activity, remove it.
    
      Run Project -> Clean. This will delete and regenerate R and
      BuildConfig. Make sure Project -> Build Automatically is ticked. If
      not, build it manually via Menu -> Project -> Build Project.
    
      Wait a few seconds for the errors to disappear. If it doesn't work,
      delete everything inside the /gen/ folder If it still doesn't work,
      try right-clicking your project -> Android Tools -> Fix Project
      Properties. Check your *.properties files (in the root folder of
      your app folder) and make sure that the links in there are not
      broken.
    
      Right-click your project > properties > Android. Look at the Project
      Build Target and Library sections on the right side of the page.
      Your Build Target should match the target in your
      AndroidManifest.xml. 
    
      So if it's set to target 17 in AndroidManifest, make sure that the
      Target Name is Android 4.2. If your Library has an X under the
      reference, remove and re-add the library until there's a green tick.
      This might happen if you've moved a few files and folders around.
      What to do if R doesn't regenerate
    
      This usually happens when you have a broken xml file.
    
      Check errors inside your XML files, mainly within the /res/ folder
      Common places are /layout/ and /values/ especially if you've changed
      one of them recently Check AndroidManifest.xml, 
    
      I find that often I change a string, and forget to change the string
      name from AndroidManifest.xml. Check that Android SDK Build-tools is
      installed. Window->Android SDK Manager->Tools->Android SDK
      Build-tools
    
      Make sure when you update the Android SDK Tools, you also update the
      Android SDK Platform-tools and Android ADK Build-tools. 
    
      Build fails silently if they don't match.
    
      If you can't find the issue, right click /gen/ -> Restore from local
      history... -> tick R.java -> click Restore. 
    
      Even if it doesn't solve the problem, but it will clear out the
      extra errors to make the problem easier to find.
    

答案 14 :(得分:0)

检查android:scaleType="centerCrop" 文件夹下的文件路径,查找此文件夹中的图像或任何其他资源并进行更正。

答案 15 :(得分:-2)

那也发生在我身上。我检查了布局xml文件并发现,如果你在GLE(图形布局编辑器)中给出了一个小部件(例如按钮)相对于另一个小部件的位置引用,那么这行代码是由Eclipse在xml中自动生成的,但是有时会出错,它会忘记“+”符号进行引用。像:

&GT;&GT;&GT; (手动纠正)android:id =“@ + id / ......”

为我解决了问题......