Android Gradle找不到符号类Gson

Android Gradle找不到符号类Gson,android,gradle,android-gradle-plugin,Android,Gradle,Android Gradle Plugin,因此,我将gson-2.2.4.jar添加到libs目录中(我使用的是androidstudio)。我的项目找不到gson内容,所以我将其作为库依赖项添加到“项目结构”中的模块中。尝试运行项目时,生成失败,出现以下错误: Error:(12, 23) Gradle: package com.google.gson does not exist Error:(37, 3) Gradle: cannot find symbol class Gson Error:(37, 19) Gradle: ca

因此,我将gson-2.2.4.jar添加到libs目录中(我使用的是androidstudio)。我的项目找不到gson内容,所以我将其作为库依赖项添加到“项目结构”中的模块中。尝试运行项目时,生成失败,出现以下错误:

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

为什么我不能让它工作?我在别处读到,如果gradle放在lib dir中,它应该自动处理所有事情。

在项目结构设置中添加它作为依赖项是不够的。该设置仅适用于IDE。要真正构建,Gradle还需要意识到这一点。您必须将.jar文件添加到build.gradle文件中,如下所示

dependencies {
    compile files('libs/gson-2.2.4.jar')
}
我也面临同样的问题。 我只是在build.gradle依赖项中添加了一行,如下所示 (没有在项目结构中添加任何jar)并且它对我有效

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.+'
}
除了上面提到的,我还发现了一些需要的东西

  • 确保在AndroidManifest.xml文件中有android:targetSdkVersion=“18”

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="18" />
    
  • 确保您已连接到internet;因此,JAR将从在线中央maven存储库下载


  • 我也面临同样的问题

    要解决这个问题,请确保为android插件指定maven central

    repositories {
        mavenCentral()
    }
    
    如果您正在定义构建脚本,则应该添加两次

    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') 
    }
    

    创建文件夹名libs并添加或编辑build.gradle(适用于文件夹中的任何jar库)

    再补充一点,

    从Gradle 1.7开始,jcenter()是mavenCentral()的超集……因此不需要添加和存储库指令

    JAR将从在线中央jcenter存储库下载。 因此,只添加以下语句是有效的

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

    就我而言,我刚刚添加了这一行:

    dependencies {
    
        compile 'com.google.code.gson:gson:2.7'
    }
    
    在我的应用程序build.gradle文件中

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
    
    到目前为止,2.7是最新的可用版本,根据:


    请检查此存储库以确保您使用的是最新的可用版本。

    请尝试此GSON。将此添加到build.gradle(模块:app)


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

    我已经解决了这个问题,通过将targetSdkVersion与应用程序级模块的所有库模块相同。

    在build.gradle(模块:app)上添加这个


    只是为了更新引用(我正在搜索):


    您可以在它的

    上看到最新版本,在依赖项中添加以下内容可以解决我截至2021年的问题:

     implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
     implementation 'com.google.code.gson:gson:2.2.4'
    
     
    

    我不熟悉Android Studio的工作原理,但您的
    build.gradle
    文件是什么样子的?#Shai Surve-这对您仍然有效吗?我必须在libs中包含gson,并用“编译文件”引用它。是的,它对我有用。如果您未连接到internet时它不工作。然后在连接到internet时尝试同样的方法。因为它从中央maven存储库获取jar,构建过程将从在线中央maven存储库下载。太棒了!我不知道谷歌代码上有gson的人工制品。您如何找到在gradle中还可以作为依赖项引用的其他内容。远程库必须有build.gradle文件,对吗?@ShaiSurve在清单中指定
    使用sdk
    是不必要的-它会被
    build.gradle
    中的任何内容覆盖。谢谢Mellvar,你是对的。android studio和gradle Manifest的新版本不需要使用sdk。这是模块的build.gradle还是项目的build.gradle?注意,gson的当前版本是2.3,所以使用:
    dependencies{compile'com.google.code.gson:gson:2.3}
    repositories
    指令再次放在顶层对我来说很有效
        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'
        }
    
    implementation 'com.google.code.gson:gson:2.8.5'
    
     implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
     implementation 'com.google.code.gson:gson:2.2.4'