【问题标题】:Android R file not generatingAndroid R文件未生成
【发布时间】:2013-05-19 13:23:02
【问题描述】:

我知道有很多关于此的主题,但我找不到一个可以解决我的问题或重复的主题。

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

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

【问题讨论】:

  • 更新到 ADT R22?您是否安装了 Build-tools 软件包? (检查 SDK 管理器)。

标签: android eclipse r.java-file


【解决方案1】:

您是否尝试过检查目标 API 可能是 api 低尝试做 右键单击您的项目>>属性>> andriod>>检查正确的API或检查是否有任何错误并首先修复它们这些步骤使我的r文件生成希望它是你的

【讨论】:

  • 我试过了,min 还是 4.0,target 还是 4.2。它工作正常,我没有改变任何东西,我清理了它导致错误。出现的唯一错误是那些试图引用 R.something 的错误,因为 R 不存在。为什么我创建一个新项目时它甚至不会生成,我仍然更加困惑
  • 你在项目中使用了eclipse吗?
  • 我想不出任何其他解决方案,但试试这个链接stackoverflow.com/questions/2194808/…也许它可以解决你的问题
【解决方案2】:

如果您最近将 SDK 工具更新到版本 R22,就会发生这种情况。 This answer 讨论了解决方案:选中项目和每个库的 Java 构建路径的 order/export 选项卡中的所有框。

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 我有同样的问题,我认为问题出在我的 java 上。我无法打开 SDK Manager 进行降级,即使我安装了 Android Studio,也无法成功启动。只是瞬间崩溃..
    • @Rizwan:有些人在使用 Android Studio 时无法打开他们的 SDK Manager。我不使用它,但我已经遇到了一些问题,似乎 Android Studio 也有一些问题。幸运的是,我正在使用 2 台“不同的机器”,一台是我的真实窗口,另一台在 Hyper-V 上,我仍然保留 R21 的源代码。我刚刚在我的真机上卸载了 R22,然后将 R21 从 Hyper-V 复制到它。您应该尝试在某处找到 R21 源,卸载所有与 android 相关的内容(例如 .android 文件夹)并安装 R21。
    【解决方案4】:

    如果任何资源文件名包含大写字母意味着不生成 R.java 文件。否则,您可以修改一些更改或在 Android Manifest 文件中放置空间并保存项目。如果没有生成意味着您可以使用项目清理或关闭编辑器并重新打开它。它会起作用的。

    【讨论】:

      【解决方案5】:

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

      为了解决这个问题,我将文件名更改为video_icon.jpg,它工作正常。

      【讨论】:

        【解决方案6】:

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

        >>>(手工更正)android:id="@+id/......"

        为我解决了问题....

        【讨论】:

          【解决方案7】:

          我刚刚有过这样的经历。在我的AndroidManifest.xml 中有一个对不存在的主题的引用。

          例如。

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

          应用程序的主题中没有AppTheme_Lorem

          【讨论】:

            【解决方案8】:

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

            【讨论】:

              【解决方案9】:

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

              解决方案:

              1. 确保 /SDK 文件夹/platform-tools/adb
              2. 中有一个名为 adb 的可执行文件
              3. 如果您在 Linux 平台上,请确保它没有被锁定并且是可执行的。

                右击adb->权限->勾选“作为程序执行/运行”。

              【讨论】:

                【解决方案10】:

                可能是你删除了

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

                在strings.xml中,但没有删除menu文件夹中的main.xml文件。

                【讨论】:

                • 伙计,我不小心删除了整个 strings.xml,然后出现了一大堆错误。我敲了半个小时的头,试图弄清楚为什么没有生成 R 文件。比我看到你的答案并意识到我的 Strings.xml 不存在。谢谢你。
                • 对我来说就是这样!非常感谢。
                【解决方案11】:

                检查是否有import android.R;

                这里不要使用 android.R,而是为每个用法使用一个完全限定的名称

                【讨论】:

                  【解决方案12】:

                  很抱歉回复晚了,但我认为这可以让任何有此问题的人了解。

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

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

                  【讨论】:

                    【解决方案13】:

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

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

                    我尝试了所有答案,但无法解决问题。终于 Intellij IDEA IDE 帮助了。资源文件有问题是对的。

                    【讨论】:

                      【解决方案14】:

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

                      • 确保 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.
                        

                      【讨论】:

                        【解决方案15】:

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

                        【讨论】:

                          【解决方案16】:

                          检查/your project/res/ 文件夹下的文件路径,查找此文件夹中的图像或任何其他资源并更正它们。

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 2015-08-06
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2014-02-25
                            • 2016-03-13
                            • 2017-12-29
                            • 1970-01-01
                            相关资源
                            最近更新 更多