Andriod开发R文件爆红相关解决方法及排查方案

在Android开发过程中,想必都遇到过项目中java文件中的R全部爆红的情况,解决不了很是烦人,下面就根据平时做项目时得出的经验,总结一下常见的原因及其解决方法:


1.首先尝试下基本的处理方法:

在IDE中工具栏处选择build

尝试clean project,然后再进行rebuild project或者是make project

若使用的是IDEA或Android studio,在上述方法尝试后可以尝试工具栏中File->Setting->Invalidate Caches/Restart选项清除缓冲,重启程序自动重新构建项目

2. 检查最近更改的XML文件,这是R文件爆红的常见原因

  • 重新点击build按钮,一般底部build标签内会显示出错的XML文件,可直接点击查看出错的文件
    Build console.png
  • 自定义XML内部代码存在错误,例如:
 1. 引用的文件文件名发生更改

 2. 使用相对布局,在design界面进行调整时,容易出现XML代码内出现错误

    这样的错误其实是比较容易找到的,一般IDE中都会有所提示

 3. 特别要注意的是,某些XML文件复用时,一定要修改其中组件的ID,避免ID重复
  • XML文件内出现标签错误,例如:

    <resources></resources>标签下方出现红色波浪线

    这种情况一般是缺少相关的插件,可以在IDE中工具栏处File->Setting->Plugins

    在红框处选择bundled,将Android Support插件勾选(如果自己并不清楚相关插件的功能,一般不建议将其取消),然后apply重启即可

    Plugins配置.png

3. 资源文件命名不规范

  • 图片资源含有数字

    当初在网上看到有说这个原因时,有人说图片资源中包含数字可能会出现R文件丢失,不过我的项目里导入图片包时,就包含带有命名带数字的图片,也照样在代码使用,并没有出现网上那种问题

  • 仔细检查自定义XML文件的命名,分享一个Android XML 的命名规范

4. 以上常见解决方法都尝试过后仍然无法成功build,那么需要从以下几个方面进行排查:

  • 最近在build.gradle添加的依赖可能存在不兼容

    这种情况需要根据最近添加的依赖进行注释后再build,需要点耐心,不过一般在github上星级比较高的,使用的人比较多的,一般不会出现这种情况(最近遇到的一次比较棘手的R文件爆红的问题就是这个导致的)

  • SDK版本问题(常见于刚新建项目时就报错)

    android {
        compileSdkVersion 26
        buildToolsVersion "28.0.1"
        defaultConfig {
            applicationId "com.xxx.xxx.xxx"
            minSdkVersion 15
            targetSdkVersion 26
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
    

    在build.gradle中,上述代码中compileSdkVersion、targetSdkVersion一定要保持一致

    同时需要使用等API Level的platforms,这个可以在File->Setting->Android SDK

    SDK Platforms.png
  • 保持build-tools为最新

    选择SDK Tools将Android SDK Build-Tools完全勾选,SDK Manager会自动更新build-tools

    SDK Build-Tools.png

目前自己遇到的R文件爆红时的解决方法和排查方案如上,都是些自己的经验所得,有什么不对不足的地方希望各位能指出,也希望被R文件爆红折磨的小伙伴们能早日走出深坑,重新踏上开发的征程!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,662评论 25 709
  • 感赏老友,在我最困难之时,你的那句“你还有我”,每次没有力气时你的鼓励,是全世界给我最大的力量。 感赏你让我明白...
    红枫叶315阅读 1,014评论 0 0
  • 朋友发信息拜年,顺便我们就聊起来,说现在没有年味了。我回复: 我们应该从追求物质的节日 升级到 创造体验到节日了。...
    逄格亮阅读 1,261评论 1 0
  • 在生命的两旁, 随时撒种,随时开花,将这一径长途点缀 得花香弥漫,使得穿花拂叶的行人,踏着 荆棘,不觉痛苦,有泪可...
    红巧儿阅读 3,652评论 0 2