Не удается найти файл android.support.design.widget.Snackbar в библиотеке поддержки

Я разрабатываю собственный библиотечный модуль, где я использую Snackbar.

Вот мой файл Gradle:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'me.zhanghai.android.materialprogressbar:library:1.1.4'
    compile 'com.android.support:design:23.1.1'
}

Как вы можете видеть, я добавил import com.android.support:design:23.1.1, но в результате получаю ошибку:

ошибка: пакет android.support.design.R не существует

Как я могу решить эту проблему?

Ответы

Ответ 1

Вы должны добавить проектную зависимость в свой файл Gradle (приложение модуля) в соответствии с


Артефакт сборки AndroidX

implementation "com.google.android.material:material:1.1.0-alpha06"


Старый строительный артефакт

implementation "com.android.support:design:28.0.0"


Если вы используете библиотеки поддержки, вы можете посетить Пакеты библиотек поддержки | Разработчики Android, для последней версии библиотеки поддержки дизайна. Если вы новичок в AndroidX и хотите его использовать, вы можете найти дополнительную информацию о переходе на новые зависимости здесь.

Источник: http://android-developers.blogspot.co.il/2015/05/android-design-support-library.html
(Прокрутите весь путь вниз)

Ответ 2

Я решил проблему сейчас :)

  1. Откройте [Файл] → [Структура проекта...]

  2. Выберите [приложение] в левой панели

  3. Выберите [Зависимости] в правой вкладке

  4. Нажмите кнопку [+] справа

  5. Выберите [1 Зависимость библиотеки]

  6. Выберите [com.android.support:design ~~]

  7. Нажмите кнопку [ОК] и т.д.

Результат: библиотека добавлена в [Внешние библиотеки проекта]

------ редактировать -----------------------------------

Вы также можете добавить эту Внешнюю библиотеку в build.gradle (Модуль: приложение)

нажмите Alt + Enter в build.gradle (Модуль: приложение)

→ добавить библиотечную зависимость

→ выбрать то, что вам нужно

и нажмите "Синхронизировать сейчас" в правом верхнем углу

Ответ 3

Чтобы добавить Snackbar в наш проект Android, просто добавьте ссылку поддержки: библиотека дизайна в файле build.gradle:

dependencies {
    ...
    ...
    compile 'com.android.support:design:25.0.1'
}

Обязательно синхронизируйте ваш проект с файлами Gradle sync gradle icon, это решит вашу проблему.


Ваше сообщение об ошибке:

ошибка: пакет android.support.design.R не существует

обязательно иметь правильный импорт:

import android.support.design.widget.Snackbar;

Ответ 4

implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:support-annotations:28.0.0'

установите его в Gradle. (модуль app), он работает для меня в Android Studio и устройстве с Орио.

Ответ 5

Попробуйте это

dependencies {
 compile fileTree(include: ['*.jar'], dir: 'libs')
 testCompile 'junit:junit:4.12'
 compile 'com.android.support:appcompat-v7:22.2.0'
 compile 'me.zhanghai.android.materialprogressbar:library:1.1.4'
 compile 'com.android.support:design:22.2.1'
 }

Ответ 6

Зависимости могут меняться при обновлении версий Android SDK, я создаю приложение в SDKversion 27. Я добавил следующую зависимость для снэк-бара.
implementation 'com.android.support:design:27.1.1'

Ответ 7

Просто введите полное имя класса android.support.design.widget.SnackBar. а не только SnackBar в каждом случае. Это решает проблему для меня.

Ответ 8

Удалите Support v4 из своего проекта, а затем добавьте библиотеку поддержки поддержки.

Ответ 9

Используйте реализацию "com.android.support:design:23.0.0"

или измените Sdk на 28 и используйте реализация "com.android.support:design:28.0.0"