it-roy-ru.com

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

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

import Android.support.v7.app.AppCompatActivity;


public class XApplicationActivity extends AppCompatActivity

Мой 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"

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

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

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

42
hendersawn

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

14
hendersawn

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

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

Иногда помогает очистка кэшей студии Android.

В Android Studio я просто очистил кеш и перезапустил следующую опцию:

File-> Invalidate Caches/Restart

85
Nicks

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

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

28
Muhamed Krasniqi

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"
19
Richard Strand

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

 introducir la descripción de la imagen aquí

12
Elenasys

Я изменил с «... расширяет ActionBarActivity» на «... расширяет AppCompatActivity» и попытался очистить, перезапустить, сделать недействительными кэши/перезапустить и не получил ничего. Все мои версии были до последней.

В конечном итоге это решило, что мой импорт был корректным:

import Android.support.v7.app.AppCompatActivity;

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

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

4
Gravitoid

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

  1. В меню Build выберите Изменить библиотеки и зависимости

 enter image description here

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

 enter image description here

 enter image description here

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

 enter image description here

4
wbadry

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

Я обнаружил, что в обновленной версии settings.gradle gradle это исправлено (это было 2.1.3), что-то в связке инструментов gradle кажется classpath 'com.Android.tools.build:gradle:2.2.3'

3
Pradeep Kumar

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

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

-

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

1
airvine

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

0
Gyan Swaroop Awasthi

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

Моя 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 Gradle.

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

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

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

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

0
catweazle