我将项目导入 Android Studio ,但 R.java 始终为空。
public final class R {
}
我试过了:
- 制作项目,制作模块,重新制作等。
- 项目 Setting-modules-sources,然后添加 src 和 gen 作为我的源文件夹。
但它们没有生效。
我将项目导入 Android Studio ,但 R.java 始终为空。
public final class R {
}
我试过了:
但它们没有生效。
转到文件->设置->编译器现在检查使用外部构建
然后重建项目
android studio 用户的最佳解决方案:
转到:菜单选项卡 - > 构建 - > 重建项目
重建项目后。您的 R.Java 文件问题将自动解决..
我设法重新生成 R:文件->设置->编译器
然后取消选中“使用进程内构建”
重建项目
对我来说,R 类的问题与自动组织的导入有关。
由于 AndroidStudio 可以选择允许自动导入,它采用了错误的 R 类,这就是为什么没有找到 id 而 Gradle 抛出错误的原因!
因此,请检查对 R 类的导入是否引用了您需要的类。
当我试图添加另一个时,flavour
我面临同样的情况。
我在其中一篇文章中找到了,我尝试成功了,它奏效了。按照我的做法:文件-> 使缓存/重新启动无效。
至于我,问题在于这条多余的行:
导入android.R;
有同样的问题并通过以下方式解决:
项目/模块/build/source/r/debug/package/R.java
可能它甚至在项目构建之前就已经存在,但我没有测试它。
我希望这会有所帮助,即使答案来得有点晚,而且现在的错误
Settings->Compiler->[ ] 使用外部构建
应该修复afaik ;-)
所以,如果有人像我今天一样被卡住,这是最新的解决方案,特别是对于R.Java
文件。
如果您丢失了以下计数:
- 清洁项目
- 重建项目
- 使缓存无效/重新启动
- 删除 .gradle 文件夹
- 删除 .idea 文件夹
- 删除了应用程序/构建/生成的文件夹
- 检查了你的 xml 文件
- 检查你的drawables和strings
然后试试这个:
检查您的项目 Gradle 脚本中的类路径依赖项,如果是,则:
classpath 'com.android.tools.build:gradle:3.3.2'
然后将其降级为:
classpath 'com.android.tools.build:gradle:3.2.1'
如果您在项目中的特定模块中遇到此问题,您可以尝试仅将该模块作为项目打开,然后构建它。这对我有用。当我尝试重新构建整个项目时,它无法为模块生成 R 文件。
检查您的项目包!我从另一个项目中带来了一些类,并没有注意到包名称的细微变化。查看 AndroidManifest.xml 的顶部
File->Invalide Cahces / Restart
您是否按照此处的步骤操作?首先更新您的 Eclipse ADT 插件,然后在 Android Studio 中导出项目和导入。
从 Eclipse 导出项目时我遇到了很多问题(假设您要从那里导出)。我在 Android Studio 中创建一个新项目要容易得多,然后将 java 文件、xml 文件、布局目录等和 AndroidManifest 复制到新项目的适当位置。
如果您的项目已经有一个 R.java 文件,您可以尝试将其复制到新项目中。在 Android Studio 中,R.java 文件似乎位于 build/source/r/debug/your-package-name/
我在这里找到了我的解决方案。简而言之,确保不仅更新了 Eclipse 插件(如果您使用的是 Eclipse)。还要确保更新了 Android SDK 工具、SDK 平台工具和 SDK 构建工具。在此之后重新启动您的机器。
即使我尝试更新此处提到的 SDK 工具,我也失败了。
这是我解决问题的方法(对于导入的库项目)。
在File -> Project Structure -> Modules中,我删除了有问题的项目,然后通过选择New Module -> Android Library Module再次添加它们。
重建项目后,我R.java
取回了所有文件。
我会回答这个问题,即使它已经被抛出了很长时间,以防万一其他人得到它。
仅在 Android Studio 上测试(但我想它也适用于 Eclipse):
检查您的 build/source/r 文件夹。在那里,您应该找到一些标有您的 gradle 构建名称(默认:调试)的目录。验证与 R 关联的包的名称是您想要的。
我知道这个技巧解决了切换命名空间的问题,因为 Android Studio(或 Gradle 我不知道谁负责)在这种情况下似乎不会重新生成它。
虽然从 Eclipse 导入项目时我还没有尝试过。
只需使用顶部菜单栏中“构建”菜单中的“重建项目”即可。
我在一个大型多模块项目中遇到了类似的问题,模块之间存在许多依赖关系。对我有用的是尝试与命令行分开构建所有未能在 Android Studio 中构建的模块。这让我知道了每个项目中缺少的资源。从我控制台的项目级别,我做了:
$ cd moduleName
$ ../gradlew assembleDebug
这为我提供了许多“找不到与给定名称匹配的资源”错误,这些错误在我构建整个项目时之前没有显示。
我在使用 Android Studio 1.5.1 的项目中遇到了类似的问题。对我来说,使用以下命令从命令行构建项目解决了这个问题:
gradle assembleRelease
在我的情况下,我在 xml 中的可绘制定义之前有一个空行。这是制动 aapt 本质上不允许生成 R.java 。
转到 Menu-Tab -> Project -> Build -> Automatically(选中此选项)。而不是重新打开一个新项目。