1.报错:Plugin [id: 'com.android.application', version: '7.3.0', apply: false] was not found in any of the following sources:...
解决方法:使gradle与插件保持一致
一、改gradle:首先将项目的gradle-wrapper.properties文件的此一行改成国内镜像
distributionUrl=https\://mirror.nju.edu.cn/gradle/
在后面的是gradle版本,推荐使用最新AS的推荐版本
注:如果不改为国内镜像则可能报错
二、改gradle插件:改项目的build.gradle文件 有两种文件格式
一种新文件
无法手动设置插件版本,系统自动匹配
一种老文件
手动将数字修改成对应的gradle插件插件版本即可
注:不知道AS版本的具体gradle和插件,可以新建一个项目后从File-》project structure-》project中查看对应的版本
根据官网Android Gradle 插件 8.4 版本说明 | Android Studio | Android Developers匹配gradle和其插件(一般都用最新的的AS、gradle和插件就行)
2.报错:Namespace not specified. Specify a namespace in the module's build file:
(老项目导入新版本AS时的通病)
解决办法:添加namespace标签
在每一个模块中,都有一个build.gradle文件和AndroidManifest.xml,现在需要做的就是把AndroidManifest.xml中package="com.xxx.xxx"包名添加到模块对应的build.gradle中。
每一个模块都要添加,包括主App模块。
从一个模块的AndroidManifest.xml中复制以下package属性值
复制到根目录\app\中的build.gradle中声明namespace(项目文件排序为Project)
或复制到gradle scripts中的build.gradle中声明namespace(文件排序为Android)
两张方式只是文件显示不一样,修改的文件都是同一个,按自己的界面来即可。
修改完后会有一个提示重建窗口弹出,点击Sync now即可
本方式原文链接:https://blog.csdn.net/ykmeory/article/details/139634020
2.报错:直接跳转到某一switch-case代码的开头
解决办法:将switch-case结构改为if-else结构
由于老版本的AS语法检查不强,可以使用switch-case,但新版本不允许使用,导入老项目后只能做出更改。推荐使用Chat GPT进行更改,以下为例图
其他:
1.报错:Could not resolve gradle:gradle:8.7
解决:有时候Gradle缓存可能损坏。尝试删除用户主目录下的Gradle缓存(c:/user/用户名/.gradle/caches),然后重新运行你的构建。
2.导入项目时不要使用HTTP代理,并且删除.gradle文件下的gradle.properties文件的末尾的几行HTTP代理代码