Gradle android无法找到符号Context

时间:2018-04-25 11:34:06

标签: java android gradle kotlin android-gradle

我有一个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项目而不适用于其他模块。

app gradle.build文件:

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'
   }
}

1 个答案:

答案 0 :(得分:0)

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

我确实清除了缓存,然后才有效,

rm -rf $HOME/.gradle/caches/

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

如果你想要试一试。