【问题标题】:Android Studio don't generate R.java for my import projectAndroid Studio 不为我的导入项目生成 R.java
【发布时间】:2013-05-13 10:00:34
【问题描述】:

我将一个项目导入 Android Studio ,但 R.java 始终为空。

public final class R {
}

我试过了:

  1. 制作项目、制作模块、重新制作等
  2. Project Setting-modules-sources,然后添加 src 和 gen 作为我的源文件夹。

但它们没有生效。

【问题讨论】:

  • 这就是我们两个。即使在日食中

标签: android android-studio


【解决方案1】:

转到 File -> Settings -> Compiler 现在检查 use external build

然后重建项目

【讨论】:

  • 我也解决了这个问题。我有太多的课程有这个错误。在禁用外部构建并删除错误的 R 导入后(显然是我的问题的原因),然后生成了正确的 R 类,我终于可以在我的类中导入它。一切正常后,我重新检查了外部构建。由于很多人都有这个问题,我认为我应该提供有关该解决方案如何为我工作的具体细节。
  • 我没有使用外部构建选项。我的 Android Studio 版本是 0.8.9
  • 似乎答案已过时。 13.1.4 和 14 中都没有这样的选项
  • 只需使用“Build”菜单项中的“Rebuild Project”
  • Rebuild Project from menu item Build解决了我的问题
【解决方案2】:

android studio 用户的最佳解决方案:

转到:菜单选项卡 -> 构建 -> 重建项目

重建项目后。您的 R.Java 文件问题将自动解决..

【讨论】:

  • 所以请确保您的 xml 文件中没有错误
  • 这很明显,在查看此站点之前会尝试。
  • 对我不起作用,所以之后我在父包下创建了一个空白 R.java 文件,然后重建项目并且它起作用了。
【解决方案3】:

我设法重新生成了 R: 文件->设置->编译器

然后UNCHECK“使用进程内构建”

重建项目

【讨论】:

  • 自 Android Studio 1.3 起不再存在设置
  • 这存在于 Android Studio 1.5 - 这解决了我的问题 :)
【解决方案4】:

对我来说,R 类的问题与自动组织的导入有关。

由于 AndroidStudio 有允许自动导入的选项,它采用了错误的 R 类,这就是为什么没有找到 id 而 Gradle 抛出错误的原因!

因此请检查对 R 类的导入是否引用了您需要的。

【讨论】:

  • 你是怎么做到的?谢谢!
  • @Ricardo 看看你得到错误的类顶部的 import 语句。如果您看到 import .R 并且 path 是您不认识的东西,那么您很可能导入了错误的 R
【解决方案5】:

当我尝试添加另一个 flavour 时,我面临同样的情况。

我在其中一篇文章中找到了,我尝试了成功,并且成功了。按照我的做法:文件 -> 使缓存/重新启动无效。

【讨论】:

    【解决方案6】:

    对我来说,问题出在这条多余的行上:

    导入android.R;

    【讨论】:

      【解决方案7】:

      遇到了同样的问题并通过以下方式解决:

      1. 运行/构建项目(以我为例,它已部署到设备上)
      2. 右键单击 Project/Module/build 文件夹
      3. 选择:同步“构建” - 然后我找到了

      项目/模块/build/source/r/debug/package/R.java

      可能在项目构建之前它就已经存在了,但我没有测试。

      我希望这会有所帮助,即使答案来得有点晚,而且到现在

      设置->编译器->[]使用外部编译

      应该修复afaik ;-)

      【讨论】:

      • 这为我解决了这个问题,而其他所有问题都失败了。我想丢失 R.. 的原因有很多。
      【解决方案8】:

      所以,如果有人像我今天一样被卡住,这是最新的解决方案,尤其是对于 R.Java 文件。

      如果你输了:

      • 清理项目
      • 重建项目
      • 使缓存无效/重新启动
      • 已删除 .gradle 文件夹
      • 已删除 .idea 文件夹
      • 已删除 app/build/generated 文件夹
      • 检查了您的 xml 文件
      • 检查了您的可绘制对象和字符串

      然后试试这个:

      检查您的项目 Gradle 脚本中的类路径依赖项,如果是,则:

      classpath 'com.android.tools.build:gradle:3.3.2'
      

      然后将其降级为:

      classpath 'com.android.tools.build:gradle:3.2.1'
      

      【讨论】:

      • 但是为什么呢?我的意思是它可以工作,但是新版本本质上会中断的原因是什么。
      • 不太确定@Emile,但更稳定的版本可能是回答这个问题的原因之一,有时在更新依赖项时这些事情可能被忽略了。
      【解决方案9】:

      如果您在项目的特定模块中遇到此问题,您可以尝试仅将该模块作为项目打开,然后构建它。这对我有用。当我尝试重新构建整个项目时,它无法为模块生成 R 文件。

      【讨论】:

      • 太棒了。那发生在我身上。你的回答很有魅力。
      【解决方案10】:

      检查您的项目包!我从另一个项目中带来了一些类,并没有注意到包名称的细微变化。查看 AndroidManifest.xml 的顶部

      【讨论】:

        【解决方案11】:
        File->Invalide Cahces / Restart
        

        【讨论】:

          【解决方案12】:

          您是否按照此处的步骤操作?首先更新您的 Eclipse ADT 插件,然后在 Android Studio 中导出项目和导入。

          http://developer.android.com/sdk/installing/migrate.html

          【讨论】:

            【解决方案13】:

            我在从 Eclipse 导出项目时遇到了很多问题(假设您要从那里导出)。在 Android Studio 中创建一个新项目,然后将 java 文件、xml 文件、布局目录等和 AndroidManifest 复制到新项目中的适当位置对我来说要容易得多。

            如果您的项目已经有一个 R.java 文件,您可以尝试将其复制到新项目中。在 Android Studio 中,R.java 文件似乎位于 build/source/r/debug/your-package-name/

            【讨论】:

              【解决方案14】:

              我找到了我的解决方案here。简而言之,确保不仅更新了 Eclipse 插件(如果您使用的是 Eclipse)。还要确保更新了 Android SDK 工具、SDK 平台工具和 SDK 构建工具。在此之后重新启动您的机器。

              【讨论】:

              • 谢谢,但实际上这个错误发生在 Android Studio 而不是 Eclipse
              • Studio 我认为也使用了 Android SDK。这就是问题所在。所以试试吧。
              • Android Studio 在目录 "//sdk" 中有自己的 Android SDK 版本
              【解决方案15】:

              即使我尝试更新 here 中提到的 SDK 工具,我也失败了。

              这是我解决问题的方法(对于导入的库项目)。

              文件 -> 项目结构 -> 模块中,我删除了有问题的项目, 并通过选择New Module -> Android Library Module再次添加它们。

              重建项目后,我找回了所有R.java 文件。

              【讨论】:

              • 我认为您也可以进入“Facets”部分,然后单击“添加”,选择“Android”并将其应用于您的库模块。然后继续“模块”节点并选择“库模块”。可能比重新导入所有内容更快(但可能在以前版本的 android studio 中不可用)
              【解决方案16】:

              我会回答这个问题,即使它已经被抛出了很长时间,以防万一其他人得到它。

              仅在 Android Studio 上测试过(但我猜它也适用于 Eclipse):

              检查您的 build/source/r 文件夹。在那里,您应该找到一些标有您的 gradle 构建名称(默认值:debug)的目录。 验证与 R 关联的的名称是您想要的。

              我知道这个技巧解决了切换命名空间的问题,因为 Android Studio(或 Gradle 我不知道谁负责)在这种情况下似乎不会重新生成它。

              虽然我从 Eclipse 导入项目时没有尝试过。

              【讨论】:

                【解决方案17】:

                转到文件 → 设置 → 编辑器 → 自动导入,在 java 选项卡中你应该有:

                在粘贴时插入导入:ASK。
                如果您有 ALL 的导入,则 Android Studio 导入其他文件。

                【讨论】:

                  【解决方案18】:

                  只需使用顶部菜单栏中“构建”菜单中的“重建项目”即可。

                  【讨论】:

                    【解决方案19】:

                    我在一个大型多模块项目中遇到了类似的问题,模块之间存在许多依赖关系。对我有用的是尝试与命令行分开构建所有未能在 Android Studio 中构建的模块。这让我知道了每个项目中缺少的资源。从我控制台中的项目级别,我做了:

                    $ cd moduleName
                    $ ../gradlew assembleDebug
                    

                    这为我提供了许多“未找到与给定名称匹配的资源”错误,这些错误在我构建整个项目时之前未显示。

                    【讨论】:

                    • 这样做之后,我终于可以再次导入R了。谢谢!!它与多模块项目有关。我的 lib 模块已损坏。
                    【解决方案20】:

                    我在使用 Android Studio 1.5.1 的项目中遇到了类似的问题。对我来说,使用以下命令从命令行构建项目解决了这个问题:

                    gradle assembleRelease
                    

                    【讨论】:

                      【解决方案21】:

                      在我的例子中,我在 xml 中的可绘制定义之前有一个空行。这是制动aapt 基本上不允许生成 R.java 。

                      【讨论】:

                        【解决方案22】:

                        我在更新 gradle 后遇到了这个问题...

                        有几个原因导致project无法构建:

                        1-drawable 或 xml 文件中的未知错误

                        2-更新 gradle 或库 等等……

                        解决方案:

                        1-清理并重建项目

                        2-删除.idea并在项目文件中建立文件夹(如图) 然后转到“文件/无效捕获重启”

                        3-回滚到以前的 gradle 版本和库。

                        【讨论】:

                          【解决方案23】:

                          转到菜单选项卡 -> 项目 -> 构建 -> 自动(选中此选项)。而不是重新打开一个新项目。

                          【讨论】:

                            猜你喜欢
                            • 2015-02-01
                            • 1970-01-01
                            • 2013-05-23
                            • 2016-02-02
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2013-12-21
                            相关资源
                            最近更新 更多