Подтвердить что ты не робот

Не удается разрешить символ AppCompatActivity. Поддержка библиотек v7 не распознается?

Я пытаюсь понять, почему моя студия Android не распознает библиотеку AppCompat v7 правильно. Оператор импорта ниже отображается как серый и говорит, что нет пакета для support.v7.app. Ниже приведен файл моей деятельности:

import android.support.v7.app.AppCompatActivity;


public class XApplicationActivity extends AppCompatActivity

My build.grade:

compile "com.android.support:appcompat-v7:22.0.0"
compile "com.android.support:support-annotations:$ANDROID_SUPPORT_VERSION"
compile "com.android.support:support-v4:$ANDROID_SUPPORT_VERSION"

Настройки моего проекта:

minSdkVersion = 14
targetSdkVersion = 21
compileSdkVersion = 21
buildToolsVersion = "22.0.1"

Итак, я очень смущен, почему это все еще дает мне проблемы. Вещи, которые я уже пробовал:

  • Очистка/восстановление проекта
  • Недействительные кеши и перезапуск
  • Проверяем миллиард раз, чтобы убедиться, что у меня установлена ​​библиотека поддержки (у меня абсолютно установлен последний репозиторий и библиотеки)

Кто-нибудь знает какие-либо исправления? Это стоило мне много времени, и это действительно расстраивало.

4b9b3361

Ответ 1

Хорошо, я исправил его, перестроив его, чтобы выполнить чистую сборку. /gradlew в четвертый раз... Android Studio - это странная вещь.

Ответ 2

Для меня, Даже после обновления до appcompat-v7:22.1.0, в котором добавлен AppCompatActivty проблема не была решена для меня, Android Studio давала ту же проблему

Не удается разрешить символ "AppCompatActivity"

Иногда очистка помощи в кешках от android studio.

В студии Android я просто очистил кеши и перезапустил следующий вариант -

File- > Invalidate Caches/Restart

Ответ 3

1. Удалите папку .idea
2.Закройте и снова откройте проект
3.File → Синхронизировать проект с файлами Gradle

Это сработало для меня

Ответ 4

AppCompatActivity была добавлена только в версии 22.1.0 библиотеки поддержки. До этого он назывался ActionBarActivity.

Вы должны использовать одну и ту же версию для всех ваших библиотек поддержки. На момент написания последней версии последняя версия была 23.1.1 (вы можете узнать последнюю версию здесь https://developer.android.com/tools/support-library/index.html#revisions), поэтому раздел зависимостей вашего файла Gradle должен выглядеть так

implementation "com.android.support:support-v4:23.1.1"
implementation "com.android.support:appcompat-v7:23.1.1"
implementation "com.android.support:support-annotations:23.1.1"

Ответ 5

Нам не нужно удалять файлы, просто отмените кеши для перезагрузки конфигурации:

ознакомление с описанием образа жизни

Ответ 6

Если вы используете AndroidX вместо Android, вам нужно изменить

import android.support.v7.app.AppCompatActivity;

в

import androidx.appcompat.app.AppCompatActivity;

и изменить

<android.support.constraint.ConstraintLayout>

в

<androidx.constraintlayout.widget.ConstraintLayout>

Ответ 7

Решение, которому я следовал, кратко изложено в следующих шагах:

  1. В меню " Сборка" выберите " Редактировать библиотеки и зависимости".

enter image description here

  1. Убедитесь, что вы добавили последний пакет AppCompat, если он не был добавлен

enter image description here

enter image description here

  1. После добавления очистите ваш проект и перестройте его.

enter image description here

Ответ 8

Я изменил с "... extends ActionBarActivity" на "... extends AppCompatActivity" и попробовал очистку, перезагрузку, Invalidate Caches/Restart и ничего не получал. Все мои версии были до последней версии.

Что в конечном итоге решило, было убедиться, что мой импорт был правильным:

import android.support.v7.app.AppCompatActivity;

По какой-то причине он не настроился автоматически, как я привык, и мне пришлось добавить его вручную.

Надеюсь, что это поможет кому-то!

Ответ 9

Я получил ту же самую точную ошибку. В случае, если это помогает другим.. документирование того, что сработало для меня, полезно для самых последних (14 января 2017 года). Пробовал все Invalidate, строит чистую, даже удаляя .gradle/, настраивая библиотеки поддержки и т.д. На несколько ответов.

Я обнаружил, что обновление настроек .gradle gradle исправлено (2.1.3) что-то в gradle toolchain кажется       classpath 'com.android.tools.build:gradle:2.2.3'

Ответ 10

Лучшее решение - перейти в File> Invalidate Caches & Restart

Затем в диалоговом меню... Нажмите Invalidate Caches & Restart. Подождите минуту или сколько потребуется времени для сброса вашего проекта, тогда вы должны быть хорошими.

-

Я должен отметить, что я также столкнулся с проблемой ссылки на файл ресурсов или файл "R", который был внутри библиотеки compileOnly, которая была у меня внутри моего gradle. (т.е. библиотека compileOnly> res> ссылающийся xml файл) Я прекратил ссылаться на этот файл в своем коде Java, и он мне помог. Так что будьте осторожны с тем, где вы ссылаетесь на файлы.

Ответ 11

У меня была та же проблема в моем недавно запущенном проекте с минимальным API 23, и, наконец, я добавил эти строки кода в мой файл зависимостей gradle, и это решило ошибку :)

 implementation 'com.android.support:appcompat-v7:28.0.0'
 implementation 'com.android.support:customtabs:28.0.0'
 implementation 'com.android.support:support-vector-drawable:28.0.0'
 implementation 'com.android.support:support-media-compat:28.0.0'

Ответ 12

Если вы уже пробовали

  1. Аннулирование кэшей и перезапуск
  2. Очистка/перестройка проекта
  3. . /gradlew чистая сборка
  4. добавленная реализация
    "Com.android.support:support-v4:23.1.1"
    "Com.android.support:appcompat-v7:23.1.1"
    "Com.android.support:support-annotations:23.1.1"
  5. Исправлен импорт в android.support.v7.app.AppCompatActivity;
  6. Исправлен любой существующий импорт androidx

Все еще сталкивается с проблемой, пожалуйста, прочитайте ниже

Наконец нашел решение

Я попробовал все упомянутое во всех ответах и потерпел неудачу.

Перейти к gradle.properties сделать эти флаги ложными

android.useAndroidX = ложь

//Автоматическое преобразование сторонних библиотек для использования AndroidX

android.enableJetifier = ложь

Вышеуказанные флаги были

"правда, для меня и, следовательно, Gradle не будет загружать компоненты V7"

Ответ 13

Удалите папку .idea в вашем проекте, которая является скрытой папкой. Зайдите в ваш проект в системе и нажмите Ctrl + H, он будет виден, затем удалите его. Теперь перезапустите вашу андроид студию. Я разрешаю. Это работает для меня.

Ответ 14

Справочная информация:

Моя IDE

Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b02 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 7 6.1

Первое решение: снова импортируйте проект и не соглашайтесь обновлять плагин для Android.

Второе решение: ваши файлы должны содержать эти фрагменты.

build.gradle:

buildscript {
  repositories {
    jcenter()
    google()//this is important for gradle 4.1 and above
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:3.1.3' //this android plugin for gradle requires gradle version 4.4 and above
  }
}
allprojects {
  //...
  repositories {
    jcenter()
    google()//This was not added by update IDE-wizard-button.
    //I need this when using the latest com.android.support:appcompat-v7:25.4.0 in app/build.gradle
  }
}

Либо следуйте рекомендациям вашей IDE, чтобы обновить версию Gradle до версии 4.4, либо подумайте об этом в gradle/wrapper/gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

Необязательное изменение buildToolsVersion в app/build.gradle:

android {
compileSdkVersion 25
buildToolsVersion '27.0.3'

app/build.gradle: закомментируйте зависимости и дайте сбойу сборки (автоматически или вызовите ее)

dependencies {
//compile fileTree(dir: 'libs', include: ['*.jar'])
//compile 'com.android.support:appcompat-v7:25.1.0'
}

app/build.gradle: еще раз прокомментируйте зависимости. Было рекомендовано изменить их от компиляции до реализации, но пока это просто проблема предупреждения.

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.1.0'
}

После перестройки проекта оператор импорта больше не должен быть серым; попробуйте вызвать Ctrl + h в классе. Но по какой-то причине маркеры ошибок в этих ссылках на классы все еще присутствуют. Чтобы избавиться от них, нам нужно спрятать и восстановить представление дерева проекта или, альтернативно, закрыть и снова открыть проект.

Наконец то это.

Дальнейшие чтения:

Обновите Gradle

Используйте новые конфигурации зависимостей

Если вы предпочитаете картинку для моего решения, вы можете посетить мой блог

Ответ 15

File-> Invalidate Caches/Restart работает для меня.

Ответ 16

Если данные решения не работают, создайте новый проект с языком "KOTLIN", даже если ваша работа на Java. Затем замените "главную" папку нового проекта на "главную" папку старого.

Ответ 17

пользователи androidX

Измените minSdkVersion на 21-й уровень API.

как это minSdkVersion 21 или создайте приложение с помощью compileSdkVersion 28, а также измените targetSdkVersion на targetSdkVersion 28

и вы увидите, что v7 ошибка исчезнет. После этого, если у вас возникли проблемы с созданием панели инструментов или другого виджета. нажмите Alt + Enter и создайте для него метод.