webentwicklung-frage-antwort-db.com.de

Android Gradle kann die Symbolklasse Gson nicht finden

Also habe ich gson-2.2.4.jar zum libs-Verzeichnis hinzugefügt (ich benutze Android Studio). Mein Projekt konnte die gson-Sachen nicht finden, also fügte ich es als Bibliothekabhängigkeit zu meinem Modul in der "Projektstruktur" hinzu. Wenn ich versuche, das Projekt auszuführen, schlägt der Build mit den folgenden Fehlern fehl:

Error:(12, 23) Gradle: package com.google.gson does not exist
Error:(37, 3) Gradle: cannot find symbol class Gson
Error:(37, 19) Gradle: cannot find symbol class Gson

Warum kann ich das nicht funktionieren lassen? Ich habe an anderer Stelle gelesen, dass Gradle alles automatisch erledigen soll, wenn es in das Verzeichnis lib geschrieben wird.

49
jensengar

Das Hinzufügen als Abhängigkeit in den Projektstruktureinstellungen reicht nicht aus. Diese Einstellung gilt nur für die IDE. Um tatsächlich bauen zu können, muss Gradle sich dessen auch bewusst sein. Sie müssen die .jar-Datei wie folgt zu Ihrer build.gradle-Datei hinzufügen ...

dependencies {
    compile files('libs/gson-2.2.4.jar')
}
41
Alex Fu

Ich hatte das gleiche Problem ... Ich habe gerade eine einzelne Zeile hinzugefügt, wie unten gezeigt, in meinen build.gradle-Abhängigkeiten. (. Ohne Jar in der Projektstruktur hinzuzufügen), und es hat für mich funktioniert.

dependencies {
    compile 'com.google.code.gson:gson:2.2.+'
    compile 'com.Android.support:support-v4:13.0.+'
    compile 'com.Android.support:appcompat-v7:18.0.+'
}

Zusammen mit dem obigen habe ich noch ein paar Dinge gefunden, die notwendig sind, damit dies funktioniert.

  1. Stellen Sie sicher, dass Sie Android:targetSdkVersion="18" in der Datei AndroidManifest.xml haben.

    <uses-sdk
        Android:minSdkVersion="10"
        Android:targetSdkVersion="18" />
    
  2. Stellen Sie sicher, dass Sie targetSdkVersion 18 in der build.gradle-Datei haben.

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
    
  3. Stellen Sie sicher, dass Sie mit dem Internet verbunden sind. So werden die Gläser aus dem zentralen Online-Repository für Maven heruntergeladen.

94
Sahil

Nur um einen Punkt hinzuzufügen,

Seit Gradle 1.7 ist jcenter () eine Obermenge von mavenCentral () ... also muss keine Direktive hinzugefügt werden. 

Die Gläser werden aus dem zentralen Jcenter-Repository heruntergeladen Das Hinzufügen nur der folgenden Anweisung funktioniert.

dependencies {
compile 'com.google.code.gson:gson:2.2.+'
}
19
Nicks

Ich habe mit demselben Problem konfrontiert.

Um dies zu beheben, stellen Sie sicher, dass Sie Maven Central für das Android-Plugin angeben

repositories {
    mavenCentral()
}

Es sollte zweimal hinzugefügt werden, wenn Sie das Build-Skript definieren

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:0.5+'
    } 
}


repositories {
    mavenCentral() 
}


apply plugin: 'Android' dependencies {    
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.Android.support:support-v4:13.0.0'   
    compile project(':libraries:volley') 
}
14
user438316

In meinem Fall habe ich gerade diese Zeile hinzugefügt:

dependencies {

    compile 'com.google.code.gson:gson:2.7'
}

in meiner app build.gradle -Datei.

2.7 ist die letzte aktuell verfügbare Version gemäß: https://mvnrepository.com/artifact/com.google.code.gson/gson

Bitte überprüfen Sie dieses Repository, um sicherzustellen, dass Sie die letzte verfügbare Version verwenden.

6
Juan Pablo

Fügen Sie dies auf build.gradle hinzu (Modul: app)

    dependencies {
      implementation fileTree(dir: 'libs', include: ['*.jar'])
      implementation 'com.Android.support:appcompat-v7:27.1.1'
      implementation 'com.Android.support:design:27.1.1'
      implementation 'com.google.code.gson:gson:2.8.0'
    }
3
Abu Nayem

Versuchen Sie diesen GSON. Fügen Sie dies auf build.gradle hinzu (Modul: app)

implementation 'com.google.code.gson:gson:2.2.4'

3
rhaldar

Erstellen Sie einen Ordnernamen libs und fügen Sie build.gradle hinzu (oder bearbeiten Sie ihn.)

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}
1
hirigoshy

Nur um die Referenz zu aktualisieren (nach der ich gesucht habe):

implementation 'com.google.code.gson:gson:2.8.5'

Sie können die letzte Version auf seinem Github-Projekt sehen:

Linkbeschreibung hier eingeben

0
Cícero Moura

Ich habe das Problem behoben, indem targetSdkVersion für alle Bibliotheksmodule mit dem Modul auf App-Ebene gleich gemacht wurde.

0
M.Noman