Gradle android无法找到符号Context

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle android无法找到符号Context相关的知识,希望对你有一定的参考价值。

我有一个java + kotlin android项目,可以在Android Studio中构建和运行。我现在正在设置CI,需要从终端运行Gradle。但是当我运行./gradlew :app:lint时,我得到了很多这样的错误:

symbol:   class Context
location: class ConnectivityMonitor
e: /*******/LocalAppHistory.java:20: error: cannot find symbol
public boolean hasSeenOnboarding(Context context) {
                                 ^

我为Context, CognitoUserSession, Typeface, CognitoCachingCredentialsProvider...和其他更多的错误得到了同样的错误。它仅适用于app项目而不适用于其他模块。

The app gradle.build file:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'

android {
   compileSdkVersion 27
   buildToolsVersion "27.0.3"

   defaultConfig {
       applicationId "****"
       minSdkVersion 21
       targetSdkVersion 27
       versionCode 48
       versionName "1.3.0-dev"
       testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
       renderscriptTargetApi 18
       renderscriptSupportModeEnabled true
       multiDexEnabled true
   }
   buildTypes {
       release {
           minifyEnabled false
       }
   }

   testOptions {
       unitTests.returnDefaultValues = true
   }
}

dependencies {
   implementation fileTree(include: ['*.jar'], dir: 'libs')
   implementation project(':corentiumio')
   implementation project(':uicomponents')
   implementation project(':core')
   implementation project(':localrepo')
   implementation project(':cloudio')
   implementation('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
       transitive = true
   }
   implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
   implementation 'com.android.support:appcompat-v7:27.1.1'
   implementation 'com.android.support:animated-vector-drawable:27.1.1'
   implementation 'com.android.support:design:27.1.1'
   implementation 'com.android.support:support-v4:27.1.1'
   implementation 'com.android.support.constraint:constraint-layout:1.1.0'
   implementation 'com.amazonaws:aws-android-sdk-core:2.4.2'
   implementation 'com.amazonaws:aws-android-sdk-ddb:2.2.22'
   implementation 'com.amazonaws:aws-android-sdk-ddb-mapper:2.2.22'
   implementation 'com.amazonaws:aws-android-sdk-cognito:2.4.2'
   implementation 'com.amazonaws:aws-android-sdk-cognitoidentityprovider:2.4.2'
   implementation 'com.google.android.gms:play-services-places:15.0.0'
   implementation 'com.google.android.gms:play-services-maps:15.0.0'
   implementation 'com.google.android.gms:play-services-location:15.0.0'
   implementation 'uk.co.chrisjenx:calligraphy:2.3.0'

   testImplementation 'commons-logging:commons-logging:1.2'
   testImplementation 'junit:junit:4.12'
   testImplementation 'org.mockito:mockito-core:2.13.0'
   testImplementation 'org.robolectric:robolectric:3.5.1'
   androidTestImplementation 'com.google.code.findbugs:jsr305:3.0.2'
   androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
       exclude group: 'com.android.support', module: 'support-annotations'
   })
   androidTestImplementation('com.android.support.test:runner:0.5') {
       exclude group: 'com.android.support'
   }
   androidTestImplementation('com.android.support.test:rules:0.5') {
       exclude group: 'com.android.support'
   }
   androidTestImplementation('com.android.support.test.espresso:espresso-intents:2.2.2') {
       exclude group: 'com.android.support'
   }
}
答案

我可能错了,一旦我从Kotlin编译器切换git分支时遇到此错误,找不到符号。

我做了清除缓存然后它工作,

rm -rf $HOME/.gradle/caches/

在切换分支以前的分支文件缓存时似乎创建了此问题。

如果你想要试一试。

以上是关于Gradle android无法找到符号Context的主要内容,如果未能解决你的问题,请参考以下文章

无法解析 Flutter 应用程序的 android/app/build.gradle 文件中的符号 GradleException

Android Studio:从 G​​ithub 导入项目并使用 gradle 文件重建/清理/同步后“无法解析符号 R”

Ionic Angular & Android 无法在 Android Studio 或您的系统上找到已安装的 Gradle 版本以安装 gradle 包装器

无法从 Gradle 脚本中找到 signingReport 以在 android studio 中找到 SHA-1 指纹密钥 [重复]

无法为参数org.gradle.api.Project找到方法android()

React Native Android - 无法找到或加载主类 org.gradle.wrapper.GradleWrapperMain