Android Gradle找不到符号类Gson

所以我添加了gson-2.2.4.jar到libs目录(我正在使用android studio)。 我的项目找不到gson的东西,所以我把它作为一个库依赖项添加到我的模块中的“项目结构”。 当我尝试运行该项目时,构build失败,出现以下错误:

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目录中,它应该自动处理所有东西。

将其作为依赖项添加到“项目结构”设置中是不够的。 该设置仅适用于IDE。 为了实际构build,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.+' } 

除此之外,我还发现了这个工作所需的更多东西。

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

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

     defaultConfig { minSdkVersion 10 targetSdkVersion 18 } 
  3. 确保你连接到互联网; 这样就可以从在线中央Maven仓库下载jar子。

只是为了补充一点,

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

Jars将从在线中央jcenter存储库下载。 所以添加下面的语句正在工作。

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

我面临同样的问题。

为了解决这个问题,请确保你指定的Maven中心的Android插件

 repositories { mavenCentral() } 

如果您正在定义构build脚本,则应该添加两次

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

在我的情况下,我刚刚添加了这一行:

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

在我的应用程序build.gradle文件。

现在2.7是最新的当前可用版本根据: https : //mvnrepository.com/artifact/com.google.code.gson/gson

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

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

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