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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41115702/article/details/81784845

在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文件内出现标签错误,例如:

    标签下方出现红色波浪线

    这种情况一般是缺少相关的插件,可以在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文件太大了

    解决方法参考:Android Studio R文件爆红但是项目可以运行

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

展开阅读全文

没有更多推荐了,返回首页