有其他人遇到过这个问题吗?我该如何解决它?我尝试同步gradle和清理我的项目,但似乎都没有帮助。
有什么想法吗?
我正在使用Android Studio 3.1,Gradle版本为4.4,Gradle插件为3.1.0。
编辑:此问题影响更新到Android Studio 3.1.1、3.1.2、3.1.3、3.1.4以及Gradle插件3.1.1、3.1.2、3.1.3和3.1.4。然而,下面的答案仍然有效。
关闭项目并重新导入。对我今天有效。
这个错误发生是因为支持库与您的项目不同步。要使其重新同步,您可以执行以下步骤:
注释掉支持库的 implementation
行。对我来说,它看起来像这样:
//implementation 'com.android.support:appcompat-v7:27.1.1'
//implementation 'com.android.support:recyclerview-v7:27.1.1'
//implementation 'com.android.support.constraint:constraint-la
将您的项目与Gradle同步。现在你会遇到一些错误,不用担心。
取消注释之前注释掉的implementation
行。
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-la
再次使用Gradle将您的项目同步。
现在应该不会再出现“无法解析符号”错误。在不同的项目中,这对我已经有效多次。
注意:
将项目关闭再重新以已有的 Android Studio 项目形式打开
出于某种原因,这些属性在26个库中不再被找到。要增加这些库,你还需要将compileSdk
升级到27。
很可能你还需要下载sdk 27。
简短版本,在应用程序的`graddle`中进行以下操作:
android {
compileSdkVersion 27
//...
}
dependencies {
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support:design:27.1.0'
//...
}
详细版本,请检查以下所有文件:
gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "cl.cutiko.testingupdate"
minSdkVersion 21
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:27.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
您可以尝试关闭项目并退出Android Studio(仅关闭和重新导入无法解决问题)。启动Android Studio并再次打开项目。这对我有效!
对我来说,同样的症状/错误是由于将一个新图像拖放到“drawable-xxhdpi”文件夹中,其名称Android Studio不喜欢 - 例如名称中带有数字或大写字母。
没有给出有用的错误消息,只有“无法解析符号R”的消息。
即使在同步应用程序并清理和重建项目之后,问题仍然存在,“R”也未被识别,没有其他错误提示。
关闭并导入项目,如其他答案所建议的那样,没有起作用,这是合理的,因为根本问题没有得到解决。
然而,尽管看起来过去这种方法对其他人没有用,但根据SO上的其他问题和答案,从drawable文件夹中删除新图像确实有效。
同样,更好的解决方案是将图像重命名以删除Android不喜欢的任何字符,然后进行清理和/或重建项目。