文章目录
一、R文件
代码中R标红;build文件存在,但是找不到r文件夹及其下的R文件。
了解R文件:
当Android APP编译时会自动生成一个R类,public final class R,不能被继承和重写。其中包含了所有res/目录下的ID,如布局文件,资源文件,图片(values下所有文件)的ID等。在写java代码需要这些资源的时候,可以使用R类,通过子类+资源名或者直接使用资源ID来访问资源。
R文件标红绝大可能是XML文件有错误,导致R文件不能自动生成,就找不到R文件。根据显示的错误信息去修改相应的XML。在XML文件的右侧显示有黄色的小横线就表明相应的语句有问题,可以根据提示进行修改。
通常路径:(Project结构下)app>build>generated>source>r>R
但是我的R文件目录为:app>build>generated>not_namespaced_r_class_sources>debug>processDebugResources>r>…>R
我查询了很久没有找到解释。
二、gradle version和 android plugin version
查看gradle version 和 android plugin version 版本:
File>Project Structure>Project
Gradle笔记 https://www.imooc.com/article/30818
参考文章 https://blog.csdn.net/xinzhou201/article/details/80408039
1、Gradle
Gradle是一个基于Apache Ant和Apache Maven概念的开源的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目配置,抛弃了基于XML的各种繁琐配置。
简单来说,Gradle 是一种构建工具,它可以帮你管理项目中的差异、依赖、编译、打包、部署 …,你可以定义满足自己需要的构建逻辑,写入到 build.gradle 中供日后复用。
2、Android Plugin for Gradle
Gradle 是一个构建工具,但它需要特定的插件来工作。Android Plugin for Gradle 即是 Gradle 的 Android 插件。
Android Studio 构建系统基于 Gradle,Gradle 的 Android 插件添加了特定于构建 Android 应用程序的几项功能。虽然 Android 插件通常以 Android Studio 的锁定步骤更新,但插件(以及其余的 Gradle 系统)可以独立于 Android Studio 运行,并单独更新。
3、Gradle 和 Android Plugin for Gradle 的关系
Gradle 的每个 Android 插件版本(Android Plugin for Gradle)需要与特定的 Gradle 版本相匹配才能编译成功。为了获得最佳性能,应该使用最新版本的 Gradle 和 Android 插件。
谷歌官方文档描述
后续更新