【问题标题】:Unable to resolve dependency Android Studio 3.0无法解析依赖 Android Studio 3.0
【发布时间】:2017-10-29 14:58:57
【问题描述】:

有一个更新的 Android Studio 3.0 很好。但是我遇到了 Android Studio 3.0 的问题,我刚刚在 Android Studio 3.0 中创建了一个新项目。然后我得到了一些错误

我通过将 dependencies 更改为最新版本解决了这些问题并解决了问题。

但是,当我添加了 facebook account-kit sdkdependency com.facebook.android:account-kit-sdk:4.+

我收到以下错误-:

错误:无法解析 ':app@debug/compileClasspath' 的依赖关系: 无法解析 com.facebook.android:account-kit-sdk:4.+。打开 文件
显示详情

build.gradle(app)

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "ultimate.devil.logintest"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.facebook.android:account-kit-sdk:4.+'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

注意-:

  • 我关注Facebook Developers Docs

  • 我已尝试将compile 更改为implementation

  • 我还尝试通过谷歌搜索最新版本的 Facebook Account-Kit SDK

  • com.facebook.android:account-kit-sdk:4.+ 更改为 com.facebook.android:account-kit-sdk:4.11.0com.facebook.android:account-kit-sdk:4.27
  • 我也尝试过 StackOverFlow Answers 可能有同样的问题。但是没有人帮助我

截图

【问题讨论】:

  • 我面临同样的问题。运气好吗?
  • @BasantMatharu 找到解决方案,请参阅下面的答案。
  • 谢谢先生,@Pavneet_Singh。
  • 遇到了同样的问题,用link解决了。

标签: android facebook-android-sdk android-studio-3.0


【解决方案1】:

经过一番研究,我已经解决了这个问题。

第 1 步-:

我在设置中禁用了 Gradle 离线工作

文件 > 设置 > 构建、执行、部署 > Gradle > 取消选中离线工作

第 2 步-:

然后,我只是将 compile 'com.facebook.android:account-kit-sdk:4.+' 更改为 api 'com.facebook.android:account-kit-sdk:4.+'

我不知道它为什么起作用。我在文档 Reference

中看到了 api

现在可以了:)

编辑 -

现在,我可以同时使用 apiimplementation 并且一切正常。

谢谢,

【讨论】:

【解决方案2】:

在编译失败的buildType中添加matchingFallbacks = ['release', 'debug']

例如我遇到了releaseStaging 的错误:

buildTypes {
    debug {
        buildConfigField "String", "CODEPUSH_KEY", '""'
    }
    releaseStaging {
        buildConfigField "String", "CODEPUSH_KEY", 'myKey'
        signingConfig signingConfigs.release
        matchingFallbacks = ['release', 'debug']
    }
    release {
        buildConfigField "String", "CODEPUSH_KEY", 'myKey'
        minifyEnabled enableProguardInReleaseBuilds
        proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        signingConfig signingConfigs.release
    }
}

【讨论】:

    【解决方案3】:

    我前天面临类似的错误。刚刚解决了here

    此外,正如最新的 gradle 版本 notes 中所述,您应该避免使用版本号为的动态依赖项:

    com.facebook.android:account-kit-sdk:4.+
    

    尝试将其替换为适当的版本号,例如 4.0.0 或最新版本。希望能解决问题。

    【讨论】:

    • 感谢您的回答@prdp89。但正如你在我的问题中看到的那样。我曾提到我曾尝试通过更改 account-kit sdk 的版本
    • @UltimateDevil,我们可以看到你的更多描述性堆栈跟踪吗?
    • 不幸的是,这是我在 android studio 中获得的唯一堆栈跟踪。我也附上了截图
    • 更改为完整版对我有用 [implementation 'com.facebook.android:account-kit-sdk:4.34.0']
    • 同时它是4.35.0 ...刚刚添加了所有构建工件的答案。
    【解决方案4】:

    短篇小说:

    降级到 Gradle 4.2.1

    说来话长:

    我使用的是基于答案 here 的 Gradle 版本 4.3,因为该问题是我的错误。在进行了更改之后,我开始遇到您的问题。

    降级到版本 4.2.1,您的问题就消失了。现在我必须回到上一个问题。

    我在使用Android Studio 3.0gradle plugin 3.0.0 编译我的项目时也有这个problem

    如果我还有其他问题,我会在这里发布更新

    【讨论】:

    【解决方案5】:

    所有 Facebook Account Kit SDK 构建工件都可以在 Maven Central 上找到:

    // https://mvnrepository.com/artifact/com.facebook.android/account-kit-sdk
    api 'com.facebook.android:account-kit-sdk:4.35.0'
    

    并且要添加的相应存储库是:

    repositories {
        mavenCentral()
    }
    

    Gradle 不处于offline 模式,被假定为。

    【讨论】:

      【解决方案6】:

      我通过清除这个目录来解决这个问题:

      c:\Users\User name\\.gradle\caches\
      

      【讨论】:

        【解决方案7】:

        我遇到了同样的问题,我通过将 apply plugin: 'com.android.application' 更改为 apply plugin: 'com.android.library'

        解决了这个问题

        关于我的问题,它与你的有点不同。我在 “将应用程序模块转换为库模块” 部分下有第二个带有 android 库和 android 开发人员页面的模块。我的猜测是它与管理架构内部的 Manifest 文件有关,因此 Android 会知道主要的 Manifest 文件在哪里。

        关于apiimplementation,可以在here找到答案

        api配置应该用于声明库API导出的依赖关系,而实现配置应该用于声明组件内部的依赖关系。

        【讨论】:

          【解决方案8】:

          有同样的问题。尝试了一切之后,终于意识到是网络不允许同步依赖项。用热点试了一下,效果很好。

          【讨论】:

            【解决方案9】:

            我遇到了同样的问题,我确实是这样解决的:

            implementation project(path: 'com.facebook.android:account-kit-sdk:4.+', configuration: 'default')
            

            【讨论】:

              【解决方案10】:

              降级这两个文件解决问题

              项目的 build.graddle 到 3.1.4 graddle-wrapper 属性到 4.4

              【讨论】:

                【解决方案11】:

                看到一个旧项目。它显示“构建”成功。所以我检查了 build.gradle 文件。比较这两个项目,我发现依赖项版本号发生了变化。然后我只是从旧项目中复制了版本号,它就可以工作了。在 android{} 中还有一个 BuildUsing 左右,我将它从我的新项目中删除(它不在我的旧项目中)。我认为这是因为 gradle 更新不完整或损坏。

                【讨论】:

                  猜你喜欢
                  • 2018-04-25
                  • 2015-12-19
                  • 2018-04-30
                  • 1970-01-01
                  • 2018-04-07
                  • 2018-07-23
                  • 1970-01-01
                  • 1970-01-01
                  • 2019-03-31
                  相关资源
                  最近更新 更多