错误:(28,13)无法解决:com.squareup.okhttp3:okhttp:3.2.0

时间:2016-03-28 19:10:53

标签: android gradle android-gradle okhttp

我的android studio有问题。

我已经从这个链接添加了okhttp的.jar文件: https://github.com/square/okhttp 到我的android studio上的libs目录。当我尝试添加这一行时:compile' com.squareup.okhttp3:okhttp:3.2.0'在build.gradle(Module:app)中的依赖项中,在尝试同步之后我得到了错误28,13。实际上在研究之后我发现我无法编译依赖项中的任何内容并同步它记住我已检查过我的" android SDK构建工具"已安装。

在build.gradle(app)目录中听到我的全部代码:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

 defaultConfig {
        applicationId "com.example.kasra.stormy"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'], )
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile files('libs/okhttp-3.2.0.jar')
    compile 'com.squareup.okhttp3:okhttp:3.2.0'
}

如果有人帮我解决这个问题,我会非常高兴和感激。

非常感谢:)

8 个答案:

答案 0 :(得分:7)

您的互联网不好,您无法从JCenter下载该文件,或者您只是错过了gradle文件中的repositories部分。

apply plugin: 'com.android.application'

repositories {
    jcenter()
}

此外,如果您要使用gradle而不是JAR文件进行编译,请删除文件libs/okhttp-3.2.0.jar并删除显示compile files('libs/okhttp-3.2.0.jar')的行。

还值得一提的是,您不需要以compile files('libs/开头的任何行,因为compile fileTree(dir: 'libs', include: ['*.jar'], )已在libs/中包含所有 JAR文件}文件夹。

答案 1 :(得分:0)

只需删除compile files('libs/okhttp-3.2.0.jar')

即可

答案 2 :(得分:0)

我通过编辑build.gradle解决了我的问题,如下所示:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 24
    buildToolsVersion '25.0.0'

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 23
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),         
    'proguard-rules.txt'
        }
    }

    lintOptions {
        abortOnError false
    }
}

dependencies {
    compile project(':library')
    //compile('com.squareup.okhttp3:okhttp:+') {
    //    exclude group: 'org.json'
    //}
    //replaced as below:
    compile 'com.squareup.okhttp3:okhttp:3.9.1'
}

答案 3 :(得分:0)

你应该改变build.gradle(app): 使用

implementation 'com.squareup.okhttp3:okhttp:3.10.0'

而不是

compile 'com.squareup.okhttp3:okhttp:3.2.0'

或者只需按照here提及的指南进行操作。

答案 4 :(得分:0)

在app.gradle中检查您的代码

apply plugin: 'com.android.application'

repositories {     jcenter()}

OR

将okhttp编译为离线模式,然后在设置-> gradle中取消选中离线模式。然后再试一次

答案 5 :(得分:0)

它可以帮助某人。在将com.squareup.okhttp3更新到最新版本后,我在Android Java libaray 中遇到了此错误。然后,我将Java版本更新为1.8,这解决了我的问题。

targetCompatibility = '1.8'
sourceCompatibility = '1.8'

答案 6 :(得分:0)

您将不需要此

compile 'com.squareup.okhttp3:okhttp:3.2.0'

相反,您将需要

implementation 'com.squareup.okhttp3:okhttp:4.9.0'

截至2020年9月30日 检查https://square.github.io/okhttp/以获得文档

答案 7 :(得分:0)

只需将依赖项替换为以下依赖项,它们肯定会起作用。(100%)。 如果将来再次出现此问题,请转到 https://square.github.io/okhttp/ 并使用最新的依赖项更新您的依赖项

    //define any required ok http without version
   implementation("com.squareup.okhttp3:okhttp")
   implementation("com.squareup.okhttp3:logging-interceptor")

   //define a BOM and its version
   implementation(platform("com.squareup.okhttp3:okhttp-bom:4.9.0"))