在 GitHub 克隆了一个开源的 Android 项目,将其引入 Android Studio 3.2 后一直报错,无法找到 R 这个类,也就无法引入它,更别谈使用资源ID了,凡是使用的地方都是爆红,提示 Cannot resolve symbol R。
仔细检查后并没有发现任何低级错误,比如 AndroidManifest.xml 错误、资源ID冲突、ID不存在之类的,因为全新的项目我都没有动手改过。尝试编译,发现可以正常运行,奇怪了,然后在网上各种狂搜,真的很辛苦,最后还是在 Google 大佬找到了问题解决办法。
原因
原来项目所使用的 Gradle 版本 3.3 与 Android Studio 3.2 存在兼容性问题,于是将其下调至 3.2 版,重新 Sync Project 后问题解决。
改之前
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.0'
}
}
修改后
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.0'
}
}