web-dev-qa-db-fra.com

impossible d'importer com.squareup.okhttp.OkHttpClient;

Je travaille sur Android studio et je récupère des données sur le Web. J'ai essayé d'utiliser OkHttpClient et j'ai également ajouté des fichiers jars dans mon dossier de projet, mais je ne parviens toujours pas à l'importer.

Ça montre can't resolve symbol okhttp. J'ai essayé une solution mais je n'ai pas pu résoudre le problème. Voici mon fichier build.gradle

apply plugin: 'com.Android.application'
Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"

    defaultConfig {
        applicationId "com.example.app"
        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'])
    compile 'com.Android.support:appcompat-v7:23.0.0'
    compile 'com.google.Android.gms:play-services:8.4.0'
 //   compile files('libs/okhttp-3.0.1.jar')
   // compile files('libs/okio-1.6.0.jar')


}
11
Manish Singla

Gradle devrait avoir une ligne comme celle-ci

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

et c'est ainsi que vous l'importez

import okhttp3.OkHttpClient;

Parce que OkHttpClient a été déplacé du package com.squareup.okhttp à okhttp3 dans la dernière version.

Plus de détails sont ici et ici

30
Rohit5k2

Vous devez ajouter les bibliothèques suivantes:

compile 'com.squareup.okhttp:okhttp:2.2.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
2
livs

Laissez Gradle gérer le téléchargement et l'importation pour vous:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.Android.support:appcompat-v7:23.0.0'
    compile 'com.google.Android.gms:play-services:8.4.0'
    compile 'com.squareup.okhttp3:okhttp:3.0.1'
}
1
Jörn Buitink
Android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'
    useLibrary  'org.Apache.http.legacy'
    ...
}

dependencies {
...
compile 'com.squareup.okhttp3:okhttp:3.4.1'

}

Et changez votre import de com.squareup.okhttp.OkHttpClientà

import okhttp3.OkHttpClient;
0
Phan Van Linh

Je vois que vous essayez/tentiez de compiler avec un bocal que vous avez mis manuellement dans votre dossier libs. Y a-t-il une raison à cela (comme vous avez besoin de cette version spécifique de la bibliothèque, etc.)? Au cas où vous ne l'auriez pas remarqué, les lignes sont commentées - cela signifie qu'elles ne seront pas traitées et donc pas ajoutées à votre application.

Solutions possibles:

  1. Décommenter les lignes
  2. Essayez plutôt d'ajouter ceci à votre dependencies:

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

Vous pouvez l'ajouter juste sous

compile 'com.google.Android.gms:play-services:8.4.0'

Source: https://github.com/square/okhttp

0
nbokmans