Android Gradle не может найти класс символов Gson

Итак, я добавил gson-2.2.4.jar в каталог libs (я использую Android-студию). Мой проект не смог найти материал 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.

Ответ 1

Добавление его как зависимости в настройках структуры проекта недостаточно. Этот параметр предназначен только для IDE. Чтобы действительно построить, Gradle также должен знать об этом. Вы должны добавить файл .jar в свой файл build.gradle, например...

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

Ответ 2

Я столкнулся с той же проблемой. Я просто добавил одну строку, как показано ниже в моих зависимостях 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.+'
}

Наряду с выше, я нашел несколько вещей, которые необходимы для этого, чтобы работать.

  • Убедитесь, что у вас есть android:targetSdkVersion="18" в файле AndroidManifest.xml.

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="18" />
    
  • Убедитесь, что в файле build.gradle есть targetSdkVersion 18.

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
    
  • Убедитесь, что вы подключены к Интернету; так что банки будут загружаться из онлайн-централизованного репозитория maven.

Ответ 3

Чтобы добавить точку,

Как и в случае с Gradle 1.7, jcenter() является надмножеством mavenCentral()... поэтому нет необходимости в директиве add and repositories.

Ящики будут загружаться из онлайн-централизованного репозитория jcenter. поэтому добавляется только следующий оператор.

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

Ответ 4

Я столкнулся с той же проблемой.

Чтобы решить эту проблему, убедитесь, что вы указали maven central для плагина Android.

repositories {
    mavenCentral()
}

И он должен быть добавлен дважды, если вы определяете build script

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

Ответ 5

В моем случае я просто добавил эту строку:

dependencies {

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

в моем файле build.gradle приложения.

К настоящему времени 2,7 является последней текущей доступной версией в соответствии с:  https://mvnrepository.com/artifact/com.google.code.gson/gson

Пожалуйста, проверьте этот репозиторий, чтобы убедиться, что используете последнюю доступную версию.

Ответ 6

Попробуйте это GSON. Добавьте это на build.gradle (Модуль: приложение)

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

Ответ 7

Добавьте это на build.gradle (Модуль: приложение)

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

Ответ 8

Создайте имя папки libs и добавьте или отредактируйте build.gradle(работает для любого jar lib в папке)

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

Ответ 9

Я решил проблему, сделав targetSdkVersion одинаковым для всех модулей библиотеки с модулем уровня приложения.

Ответ 10

Просто чтобы обновить ссылку (я искал):

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

Вы можете увидеть последнюю версию на своем проекте github:

введите описание ссылки здесь