android studio r文件爆红,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文件,可直接点击查看出错的文件

20e01486f178

Build console.png

自定义XML内部代码存在错误,例如:

1. 引用的文件文件名发生更改

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

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

3. 特别要注意的是,某些XML文件复用时,一定要修改其中组件的ID,避免ID重复

XML文件内出现标签错误,例如:

标签下方出现红色波浪线

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

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

20e01486f178

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

20e01486f178

SDK Platforms.png

保持build-tools为最新

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

20e01486f178

SDK Build-Tools.png

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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值