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:
введите описание ссылки здесь