【问题标题】:Android Studio Gradle: Cannot resolve symbol 'amazonaws'Android Studio Gradle:无法解析符号“amazonaws”
【发布时间】:2019-09-26 10:10:23
【问题描述】:

我在 gradle 中导入 amazonaws 时遇到问题,非常感谢任何帮助。谢谢!

问题:

我正在尝试将“com.amazonaws.auth.*”导入到我的 build.gradle 中,但是在声明“无法解析符号 'amazonaws'”的语句下方出现一条红线。

我的尝试:

  • 同步 Gradle 并重建
  • 使缓存失效并重新启动
  • 尝试关注here的回答无济于事

build.gradle 代码:

buildscript {
    ...

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.amazonaws:aws-java-sdk-core:1.11.5'
    }
}

import com.amazonaws.auth.*

def getAwsReadOnlyCredentials = {
    ...
    return new DefaultAWSCredentialsProviderChain().getCredentials()
}

AWSCredentials libraryCredentials = getAwsReadOnlyCredentials()

allprojects {
    repositories {
        google()
        jcenter()

        maven {
            ...
        }
    }
}

...

【问题讨论】:

  • 你能解决这个问题吗?

标签: android gradle amazon-s3


【解决方案1】:

您需要从存储库mavenCentral() 导入artifacts - 并且不要将依赖项添加到buildscriptclasspath,而是一个模块的dependencies。在我看来,好像您将 Java 与 Gradle 语法混为一谈,同时依赖于错误的一个库。这个import 语句和AWSCredentials(很有可能)属于.java 文件而不是.gradle 文件。

例如:这个看起来很有希望:

dependencies {
    implementation "com.amazonaws:aws-android-sdk-core:2.6.31"
}

【讨论】:

    【解决方案2】:

    在我的情况下,只是使缓存无效并重新启动 android studio 解决了这个问题。为此,您需要转至Files -> Invalidate Caches/ Restart

    确切地说,我们不需要 mavenCentral() 存储库来下载 aws 依赖项。只有jcenter() 就足够了。

    还可以考虑在您的build.gradle 中添加apply plugin 'java'

    【讨论】:

      猜你喜欢
      • 2018-09-14
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 2015-12-17
      相关资源
      最近更新 更多