无法解析符号gson

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法解析符号gson相关的知识,希望对你有一定的参考价值。

我使用gson库遇到了很大的麻烦。在构建项目时,我得到:

“无法解析符号gson”

我用谷歌搜索了几个小时,但似乎没有解决方案。这是我的build.gradle文件:

android {
    compileSdkVersion 24
    buildToolsVersion "28.0.2"
    defaultConfig {
        applicationId "com.example.jasminkrhan.vaktija"
        minSdkVersion 24
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {

    compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
compile 'com.google.code.gson:gson:2.8.2'

}

还有我的项目build.gradle文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        jcenter {
            url "http://jcenter.bintray.com/"
        }
    }

    repositories {
        maven  {
            url "http://repo1.maven.org/maven2"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {

    repositories {
        jcenter {
            url "http://jcenter.bintray.com/"
        }
    }

    repositories {
        maven  {
            url "http://repo1.maven.org/maven2"
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

有人看到我的代码有问题吗?为什么android studio没有找到这个库?我已经尝试重新启动Android Studio,但这没有帮助。

答案

compile已经过时了。请使用implementation

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

您需要在Project Level build.gradle中使用它们

buildscript {

repositories {
    google()
    jcenter()
}

.....
allprojects {
    repositories {
        google()
        jcenter()
    }
}
另一答案

尝试将存储库全部编写在一起,并使用Google依赖项和jcenter中包含的功能,而不是提供URL。像这样:

buildscript {
...
    repositories {
        google()
        jcenter()
    }
}

并且:

allprojects {
    repositories {
        google()
        jcenter()
    }
}

在gradle中开始使用implementation标记而不是compile也很重要,因为它已被弃用:

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

以上是关于无法解析符号gson的主要内容,如果未能解决你的问题,请参考以下文章

关于Gson解析时候特殊符号,被转义的问题,如 单引号

使用Gson和Anko

无法在每个活动上解析符号“R”[重复]

GSON 的改造解析问题

Gson 无法解析 Kotlin 中的字符串 json 格式数据

设置 minifyEnabled 为 true 时无法使用 GSON 解析 json 对象