我将项目导入Android Studio,但R.java始终为空。
public final class R {
}
我试过了:
但它们没有生效。
答案 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)
遇到同样的问题并通过以下方式解决:
项目/模块/构建/源/ 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)
答案 11 :(得分:0)
更新gradle后我遇到了这个问题...
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中导出项目和导入。
答案 18 :(得分:0)
我会回答这个问题,即使它抛出已经很长时间了,以防万一其他人去了。
仅在Android Studio上测试过(但我想它也适用于Eclipse):
检查您的build / source / r文件夹。在那里,您应该找到一些标记在您的gradle构建名称下的目录(默认值:debug)。 验证与R关联的包的名称是否是您想要的名称。
我知道这个技巧解决了切换命名空间的问题,因为在这种情况下,Android Studio(或Gradle我不知道谁对此负责)似乎不会重新生成它。
我从Eclipse导入项目时没有尝试过。
答案 19 :(得分:0)
即使我尝试更新here提及的SDK工具,我也失败了。
以下是我解决问题的方法(对于导入的库项目)。
在文件 - >项目结构 - >模块,我删除了有问题的项目, 并通过选择新模块 - >再次添加它们Android库模块。
重建项目后,我收到了所有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)
转到菜单标签 - >项目 - >构建 - >自动(选中此选项)。而不是重新开放一个新项目。