Android Studio不为我的导入项目生成R.java

时间:2013-05-18 09:09:04

标签: android android-studio

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

public final class R {
}

我试过了:

  1. 制作项目,制作模块,翻拍等
  2. Project Setting-modules-sources,然后添加src和gen作为我的源文件夹。
  3. 但它们没有生效。

23 个答案:

答案 0 :(得分:16)

转到文件 - > 设置 - > 编译器现在检查使用外部版本

然后重建项目

答案 1 :(得分:8)

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

转到:菜单标签 - >构建 - >重建项目

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

答案 2 :(得分:5)

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

然后 UNCHECK "使用进程内构建"

重建项目

答案 3 :(得分:4)

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

由于AndroidStudio可以选择允许自动导入,因此使用了错误的R类,这就是为什么找不到ID并且Gradle抛出错误的原因!

因此,检查R类的导入是否引用了您需要的那个。

答案 4 :(得分:3)

至于我,问题在于这个多余的界限:

  

导入android.R;

答案 5 :(得分:3)

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

  1. 运行/构建项目(在我的情况下,它已部署到设备中)
  2. 右键单击Project / Module / build文件夹
  3. 选择:同步'build' - 然后我找到了
  4.   

    项目/模块/构建/源/ R /调试/包/ R.java

    可能在项目构建之前就已存在,但我没有对此进行测试。

    我希望这很有帮助,即使答案有点晚,现在是

    的错误
      

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

    应该固定afaik; - )

答案 6 :(得分:3)

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

我在其中一篇文章中发现了成功尝试并且它有效。我做了以下:文件 - >使缓存/重新启动无效。

答案 7 :(得分:2)

因此,对于R.Java文件,如果有人像我今天一样陷入困境,这是最新的解决方案。

如果您丢失了以下计数:

  
      
  • 清洁项目
  •   
  • 重建项目
  •   
  • 使缓存无效/重新启动
  •   
  • 已删除的.gradle文件夹
  •   
  • 已删除.idea文件夹
  •   
  • 已删除的应用/构建/生成的文件夹
  •   
  • 检查了您的xml文件
  •   
  • 检查了可绘制对象和字符串
  •   

然后尝试一下:

在您的Project Gradle脚本中检查您的类路径依赖关系,如果是,则为:

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

然后将其降级为:

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

答案 8 :(得分:1)

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

答案 9 :(得分:1)

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

答案 10 :(得分:0)

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

在粘贴上插入导入:ASK。
如果你有ALL导入,那么Android Studio会导入其他文件。

答案 11 :(得分:0)

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

有几个原因导致无法构建项目enter image description here

1-可绘制或xml文件中的未知错误

2-更新gradle或库 等...

解决方案:

1-清理并重建项目

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

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

答案 12 :(得分:0)

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

答案 13 :(得分:0)

File->Invalide Cahces / Restart

答案 14 :(得分:0)

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

gradle assembleRelease

答案 15 :(得分:0)

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

$ cd moduleName
$ ../gradlew assembleDebug

这为我提供了一些“找不到匹配给定名称的资源”错误,这些错误在我作为一个整体构建项目之前没有显示过。

答案 16 :(得分:0)

只需使用'重建项目'来自' Build'顶部菜单栏中的菜单。

答案 17 :(得分:0)

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

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

答案 18 :(得分:0)

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

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

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

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

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

答案 19 :(得分:0)

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

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

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

Select "Android Library Module" when adding project.

重建项目后,我收到了所有R.java个文件。

答案 20 :(得分:0)

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

答案 21 :(得分:0)

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

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

答案 22 :(得分:-1)

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