java - Gradle android找不到符号上下文

标签 java android gradle kotlin android-gradle-plugin

我有一个 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'
   }
}

最佳答案

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

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

rm -rf $HOME/.gradle/caches/

似乎在切换分支时缓存的先前分支文件造成了此问题。

如果你愿意,可以尝试一下。

关于java - Gradle android找不到符号上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50021255/

相关文章:

java - 从 REST 客户端接收作为 Java 对象的响应

java - 使用 netty 的 writeandflush() 向客户端发送 JSON 数据,显示无效的 JSON 类型

java - 基于 Java 代码的 Crypt::CBC 的 Perl 问题

java - 如果 A extends B extends C,为什么我可以转换到 A 但得到转换到 C 的 ClassCastException?

unit-testing - 如何运行依赖于 Android 库模块的单元测试?

Java REST boolean 字段的部分更新

android - android gradle插件和gradle的区别

android - 什么是 Dagger ?我们为什么要使用它?

java - Gradle Error URI 有一个权限组件

android - 创建 Gradle 任务以将 Android 源导出为 .zip 文件