52

所以我将 gson-2.2.4.jar 添加到 libs 目录(我使用的是 android studio)。我的项目找不到 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 目录中,它应该会自动处理所有内容。

4

11 回答 11

96

我遇到了同样的问题。我只是在我的 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.+'
}

除上述内容外,我还发现了使其正常工作所需的其他一些东西。

  1. 确保您有android:targetSdkVersion="18"AndroidManifest.xml 文件。

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="18" />
    
  2. 确保你有targetSdkVersion 18build.gradle 文件。

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
    
  3. 确保您已连接到互联网;这样 jar 将从在线中央 maven 存储库下载。

于 2013-08-10T17:39:13.103 回答
43

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

dependencies {
    compile files('libs/gson-2.2.4.jar')
}
于 2013-07-28T22:55:38.020 回答
20

只是补充一点,

从 Gradle 1.7 开始, jcenter() 是 mavenCentral() 的超集......所以不需要添加和 repositories 指令。

罐子将从在线中央 jcenter 存储库下载。所以只添加以下语句是有效的。

dependencies {
compile 'com.google.code.gson:gson:2.2.+'
}
于 2015-07-06T02:37:49.740 回答
14

我遇到了同样的问题。

要解决它,请确保为 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') 
}
于 2013-09-03T16:02:31.550 回答
6

In my case, I just added this line:

dependencies {

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

on my app build.gradle file.

By now 2.7 is last current available version according to: https://mvnrepository.com/artifact/com.google.code.gson/gson

Please check this repository to be sure you are using last available version.

于 2016-10-03T11:02:33.280 回答
4

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

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

于 2018-03-27T12:26:58.250 回答
4

在 build.gradle 上添加这个(模块: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'
    }
于 2018-05-01T04:28:15.363 回答
2

只是为了更新参考(我正在寻找):

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

您可以在其github 存储库中查看最新版本

于 2019-04-10T12:08:21.843 回答
1

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

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}
于 2013-12-09T17:56:06.333 回答
1

在依赖项中添加以下内容可以解决我截至 2021 年的问题;

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

 
于 2020-12-22T07:08:08.150 回答
0

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

于 2018-04-09T05:45:32.010 回答