您的位置:首页 > 移动开发 > Android开发

记录Android Studio编译APP时遇到的问题及解决

2019-03-02 16:08 211 查看

文章目录

一、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 插件。

谷歌官方文档描述

后续更新

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐