安卓工作室"无法解析符号"xxx" "



我导入别人的项目,这个问题再次出现,它让我困惑了一个月。

问题像这样显示

某些导入的包变为红色

但我确实在我的 SDK 浏览器文件中找到了像这样的文件"本地日志":

本地日志

我尝试了很多方法,包括使现金无效/删除.idea和.gradle,这对我不起作用。那么我该如何解决这个烦人的问题呢?

我的 gradle 版本是 6.1.1

我的 Gradle 插件版本是 4.0.0

我的 SDK 版本是 28

gradle 配置显示在代码中:

apply plugin: 'com.android.application'
//apply plugin: 'com.android.library'
android {
signingConfigs {
buaacntlab {
keyAlias 'cntlab_insight'
keyPassword 'insight_cnt_lab_'
storeFile file('D:/ProgramData/Android/Projects/buaacntlab.jks')
storePassword 'cntlabbuaa'
}
}
compileSdkVersion 28
buildToolsVersion '28.0.2'
defaultConfig {
applicationId "com.github.clearsights.fmpdrtest"
minSdkVersion 17
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
signingConfig signingConfigs.buaacntlab
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.buaacntlab
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
productFlavors {
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation "com.jakewharton:butterknife:8.6.0"
annotationProcessor "com.jakewharton:butterknife-compiler:8.6.0"
implementation 'pub.devrel:easypermissions:1.1.2'
}

这是因为在 android gradle 插件 v4.0.0 中,他们消除了使用此处更改日志中提到的使用jniLibs.srcDirs配置的需要。您现在可以摆脱该 sourceSets 块。

外部本机构建现在会自动打包这些库,因此 使用 jniLibs 显式打包库会导致重复项。 若要避免生成错误,请将预生成库移动到某个位置 在 jniLibs 之外或从您的 build.gradle 文件。

或者,您可以降级到 gradle 3.6.0 并重新编译,它应该可以工作。实际上,您可以先降级,构建应用程序并记下APK大小,然后再次升级并构建以注意差异。