近期参与了一个我很感兴趣的项目,项目内用到了很多新东西,例如组件化、模块化、ARouter路由、MVI框架、Kt高阶用法等等,感觉可以学一段时间…
Gradle相关Blog
- Android Gradle - Gradle、Gradle plugin 基础认知
- Android Gradle - AndroidStudio 中 Gradle 依赖全解
- Android Gradle - 全面加速 Gradle Build 编译
- Android Gradle - Gradle常见异常
这篇起头应该是在2022年11月份,因为项目一直比较忙,拖拖拉拉的到了2022年最后一天,故此抓紧时间补全不足,记录时光 ~
- 所遇场景
- 通用解决
- 基础套餐:clean、rebuild
- 初级套餐:Invalidate Caches / Restart
- 中级套餐:删除通过As自动生成的.gradle、.idea等
- 有效解决
- 检查As版本
- 检查Gradle 版本、引入类型
- 检查Gradle、Gradle Plugin对应版本
- 奇葩解决方式
- open、import 不同方式引入项目
- 资源目录
- xml 预览无效
所遇场景
拉新项目后,项目可正常运行,但是涉及res资源无法直接访问到,很影响开发效率,主要涉及以下部分
R文件找不到(ctrl+鼠标左键)layout资源无法直接访问(ctrl+鼠标左键)drawable、mipmap等资源无法直接访问(ctrl+鼠标左键)layout预览效果无法显示
其中的错误提示,主要有以下几种
Internal Error occurred while analyzing this expressionCannot find declaration to go tolayout xml 预览失败提示错误 - Failed to initialize editor
关于我遇到的问题,网上的解法各有千秋,有的也是千篇一律,仅于此处总结自我解惑的过程,主要分几个方面
通用解决
基础套餐:clean、rebuild
基础套餐:clean、rebuild 各来一次

初级套餐:Invalidate Caches / Restart
初级套餐:File --> Invalidate Caches / Restart

清理缓存,重启Andriod Studio

中级套餐:删除通过As自动生成的.gradle、.idea等
删除 .gradle、.idea、build 文件后重新build项目

有效解决
通过该处的解决方式,我解决了以下这些问题
R文件找不到(ctrl+鼠标左键)layout资源无法直接访问(ctrl+鼠标左键)drawable、mipmap等资源无法直接访问(ctrl+鼠标左键)Cannot find declaration to go to
每一个问题都需要逐步解决,很多时候仅设置一个可能无法解决上述的全部问题
检查As版本
每一个As版本都有不同的特性,我其中 xml无法预览、部分资源爆红的问题就是通过升级As版本解决的(我同事提醒我As有几个版本是存在问题的... 有很多坑... )~
以下为我最新的As版本,图示

检查Gradle 版本、引入类型
这种处理方式也帮我解决了一部分项目爆红的场景,提升了部分开发效率

将 distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip 改为 distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
#Thu Nov 24 15:25:43 CST 2022
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
检查Gradle、Gradle Plugin对应版本
AGP和Gradle不匹配或版本较低,可根据AS的提示升级Gradle相关版本;
参考: 各个Android Gradle 插件版本所需的 Gradle...
Android Gradle - Gradle、Gradle plugin 基础认知
奇葩解决方式
open、import 不同方式引入项目
看别人的blog发现有个解决方式:
打开项目的方式不对,应该是import项目而不是直接open项目~ 例如项目是Test项目,若直接open该项目,可能会出现Ctrl+鼠标左键无法实现跳转的功能,也无法直接点进去看源码。就时候就应该import该项目。
关于这种解决方式,我不太能苟同,仅记录 open、imprt 打开项目的方式!!!
open项目

import项目

资源目录
mark Directory as --> Sources Root
Sources Root:源根Test Source Root:测试源根Resources Root:资源根Test Resource Root:测试资源根

xml 预览无效
在项目res文件夹下的values下的styles.xml文件中将<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">的Theme前面加一个Base.,如下图:



![健康码识别[QT+OpenCV]](https://img-blog.csdnimg.cn/b1643a77eb38432abc2e9b5b86d46048.gif)




![[ Azure - Database ] Azure Database for MySQL 配置Auditing并查看使用](https://img-blog.csdnimg.cn/9e84f146faef43e8bc933508270ecc08.png)









