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


212

Я только что попытался использовать Android Studio. Я создал пустой проект и попытался создать, Activityкоторый расширяется AppCompatActivity. К сожалению, Android Studio «говорит», что это

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

У меня есть compile "com.android.support:appcompat-v7:22.0.+"в списке зависимостей моего модуля "приложение" и пересобрать проект несколько раз. Однако я могу только использовать ActionBarActivity. Что я делаю не так?


вы используете правильную версию сборки? Ваш SDK является актуальным?
болтун-призрак

5
@Lingviston вы не используете правильную версию. Вы должны использоватьcom.android.support:appcompat-v7:22.1.0
Дамсон

2
Ну, тогда не было такой версии.
Лингвистон

Но теперь есть, и это решает проблему :)
JY2k

Ответы:


350

Небольшое дополнение к другим ответам здесь, для тех, кто имеет ту же ошибку при использовании правильной версии lib и правильного класса.

Когда я обновился до

appcompat-v7:22.1.0

Из-за некоторого сбоя в Android Studio, который ActionBarActivityустарел и пуст и AppCompatActivtyявляется подходящим вариантом, он не совсем понял изменение версии.

т.е. хотя Gradle работал без ошибок, сама IDE продолжала говорить Cannot resolve symbol 'AppCompatActivity'(и это также не было доступно через Ctrl+Nпоиск)

Я заглянул в .idea/librariesпапку и заметил, что нет подходящего метафайла для новой версии библиотеки.

Итак, с помощью старого надежного File-> Invalidate Caches / Restart все получилось. Всегда пробуйте это, когда чувствуете, что с Android Studio что-то не так. А затем отключить автономный режим и синхронизировать.


2
У меня тоже не работает, каждый раз, когда я обновляю appcompat, я сталкиваюсь с множеством проблем.
3c71

Для меня эта ошибка появилась при обновлении до Android Studio 2.0 - Очистка кэша и перезапуск, как указано выше, работали отлично!
ColossalChris

Я compile 'com.android.support:appcompat-v7:23.3.0'уже в моем build.gradle ... но все еще получаю ошибку
dsdsdsdsd

3
Если это не сработало, попробуйте это, сработало для меня: stackoverflow.com/a/36641765/3758439
Джордж

то же самое в IntelliJ IDE.
A-Sharabiani

163

Если программные методы через файл Gradle / «Invalidate caches» и другие инструменты IDE не работают, используйте сложный способ:

  1. Выход из Android Studio
  2. Перейдите в вашем проекте к .ideaпапке
  3. Просто переименуйте librariesпапку
  4. Перезапустите Android Studio. Теперь он должен воссоздать librariesпапку и снова работать.

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

Android Studio 3.1.2
Build #AI-173.4720617, built on April 13, 2018
JRE: 1.8.0_152-release-1024-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-38-generic

Шахбаз Али подтвердил, что работает и на

Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-38-generic

Муджиб подтвердил, что работает на Android Studio 3.2.1


Ты за исправление! Кроме того, я хотел бы знать, использовал ли каждый пользователь ПК-версию или iOS-версию Android Studio. У меня есть друзья-разработчики, у которых никогда не было таких проблем на iOS. У меня было множество проблем на ПК. Не уверен, сколько раз я пытался очистить / перестроить / аннулировать кеш ...

Мы с Шахбазом Али использовали версию для Linux, но Муджиб только прокомментировал, что это решение работает в 3.2.1
DBX12

70

Сегодня (22 апреля) вы можете использовать новую AppCompatActivityверсию с поддержкой библиотек v 22.1.0.

Просто измените свою зависимость:

compile "com.android.support:appcompat-v7:22.1.0"

Здесь вы можете найти больше информации об этом новом классе.


7
хм, я использую более высокую версию, но все еще сталкиваюсь с проблемойcompile 'com.android.support:appcompat-v7:23.1.1'
бехелит

31

Это слишком просто. Есть шаги, которые нужно выполнить

1-Выходная Android студия.

2-Перейдите в каталог вашего проекта.

3-Как-то так в моем случае (F> Android-> YourProjectName ->. Idea).

4) -удаление папки с библиотеками в папке .idea.

5) - перезагрузите свою андроид студию. и ваша проблема решена.


Я бы никогда не удалил папку на случай, если что-то пойдет не так. Достаточно просто переименовать его. В худшем случае, когда папка библиотеки не регенерируется, вы можете вернуться и восстановить исходное имя папки «библиотеки». После того, как все работает, вы можете вернуться и удалить папку, которую вы переименовали. Если ваша студия повреждена, она может не создавать папки - всегда соблюдайте осторожность при удалении файлов.

28

Я исправил это, перейдя в build.gradleфайл и в зависимости appcompat, что-то вроде компиляции'com.android.support:appcompat-v7:XX.X.X'

Изменено это для компиляции 'com.android.support:appcompat-v7:XX.X.+'

Затем нажмите на синхронизацию. Все красные волнистые линии должны идти, если все остальное в вашем коде правильно.


7
+1, боже мой, это сработало для меня. :) Кстати, +знак для Hey Gradle, если любая новая версия того же выпуска доступна для использования для вас :). Я использовал com.android.support:appcompat-v7:25.3.1сейчас, это сделало трюк: com.android.support:appcompat-v7:25.3.+хотя AS дает мне предупреждение: избегайте использования + в номерах версий; может привести к непредсказуемым и неповторимым сборкам (com.android.support:appcompat-v7:25.3.+)
fWd82

13

Проверьте также на опечатки, я потратил впустую весь день в поисках решений, когда я фактически набрал AppCompactActivity вместо AppCompatActivity


13

Я получил Cannot resolve symbolошибку для AppCompatActivity и многих других классов и методов после обновления Android Studio с 2.2.3 до 2.3, обновления плагина Android Gradle до 2.3.0 и обновления Gradle до 3.3.

File -> Invalidate Caches / Restart не решил проблему.

Preferences -> Build, Execution, Deployment -> Gradleпоказывается Use local gradle distributionвыбранное с помощью Gradle home: / Applications / Android Studio.app/Contents/gradle/gradle-2.14.1 и отображается предупреждение о неправильном расположении gradle .

Решил вопрос, выбрав Use default gradle wrapper (recommended).
Вероятно, просто указание на новое местное местоположение распространения также будет работать.


11

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

Сделайте простой шаг, чтобы решить проблему.

я) Выход из студии Android.

II) Перейдите в каталог вашего проекта.

iii) Найдите папку .idea в каталоге вашего проекта.

iv) Удалить папку .idea .

v) Перезапустите свою андроид-студию.

vi) Проблема будет решена.


Если вы зайдете в папку .idea и переименуете папку «библиотеки» во что-то другое, хитрость также сработает. Если что-то идет не так, вам нужно просто вернуться и переименовать папку библиотек обратно в ее первоначальное имя и попробовать что-то другое, а не пытаться восстановить всю папку .idea.

8

Попробуй это. В Android Studio после помещения зависимости в build.gradle. Зайдите в Build -> Clean Project.

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


7

Это действительно безумие, я попробовал все, синхронизировал с файлами Gradle, аннулировал и перезапустил андроид студию. Тем не менее проблема сохраняется. В крайнем случае удалял папку .idea / library, и это работало как прелесть.


6

Вы можете использовать новый AppCompatActivity appcompat-v7: 22.1. + Просто добавьте это в ваш gradle:

скомпилировать 'com.android.support:appcompat-v7:22.1.1'


6

Для меня проблема решена, когда я обновил appcompact v7 до последней версии ..

скомпилировать 'com.android.support:appcompat-v7:25.3.0'

Надеюсь, поможет...:)


6

Так что мои коллеги толкнули их, local.propertiesкоторые сломали все. Я скопировал мой путь SDK из другого приложения и сделал:

File -> Sync Project with Gradle Files

5

Я получал ту же проблему с Android SDK 23, когда разрабатывал на Mac OS X Yosemite Machine. Оказалось, что у меня не было Java SDK 7.

После того, как я установил Java SDK 7 и указал SDK из Android Studio на новый SDK, у меня все заработало.

Вот шаги, которые я выполнил:

1) Отключение Android SDK

2) Установите Java SDK для Mac OS X по адресу http://www.oracle.com/technetwork/java/javase/downloads/index.html.

3) Запустите Android SDK и укажите SDK для этого проекта на новый 1.7 Java SDK, выбрав Файл -> Структура проекта -> Расположение JDK.

4) Перезапустите Android Studio

Надеюсь это поможет


3

Не забудьте нажать Alt+ Enterили добавить импорт.

import android.support.v7.app.AppCompatActivity; 

3

ни один из ниже не решил мою проблему

  • Перезагрузите Android
  • Файл >> Синхронизировать проект с файлами Gradle
  • Построить >> Чистый проект
  • Построить >> Перестроить проект
  • Файл >> Недействительные кэши / перезапуск

Вместо этого я решил эту проблему, обновив версию зависимостей appcompat и design до последней версии. Для этого перейдите в раздел build.grade (Module: app) >> dependencies, а затем нажмите ALT + ENTER для зависимостей appcompat и design, затем выберите Показанная версия в моем случае это 24.2.1, как показано на рисунке введите описание изображения здесь


3

Я обновил свой Gradle 2.3.3 до 4.4 и получил ошибку в AppCompatActivity, а также в Cardview. Я попытался с чистым проектом и пересобрать проект. Это не будет работать, тогда я иду в папку проекта -> .idea -> создать резервную копию папки библиотеки и удалить ее -> затем перестроить проект, который решил мою проблему.


3

Давайте начнем шаг за шагом: первый чистый проект с помощью

Build-> Clean

если это не помогает, используйте второй шаг

File> Invalidate Caches / Restart ...

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

.idea

Вы можете открыть свой проект сейчас снова.


2

После обновления до последней библиотеки поддержки мне пришлось обновить ее до последней версии Android Studio (бета) и версии Gradle, прежде чем IDE снова распознала AppCompatActivity (аннулирование кэшей и перезапуск не помогли)


2

Добавьте эту зависимость в сборку проекта .gradle.

Следуйте примеру ниже.

dependencies {

    compile 'com.android.support:appcompat-v7:22.1.0'
}

Я использую :22.0.0и не могу найти AppCompatActivityкласс. Я должен установить это по крайней мере 22.1.0. Спасибо.
haxpor

2

Легкий путь

  • Откройте уровень приложения build.gradleи удалите зависимость appcompact-v7 и синхронизацию.
  • Добавить зависимость снова и синхронизировать.

Ошибка ушла!

Перед

перед

После

после


2

Когда вы добавляете поддержку AndroidX в файл Gradle.properties, например,

android.useAndroidX=true
android.enableJetifier=true

Если вы используете версию Gradle больше, чем 3.2, стандартная зависимость Appcompat, например,

implementation 'com.android.support:appcompat-v7:27.1.1

не будет работать. Замените эту зависимость на:

implementation 'androidx.appcompat:appcompat:1.1.0'

Кроме того, измените импорт AppCompatActivity в вашем файле класса следующим образом:

import android.support.v7.app.AppCompatActivity;

к этому:

import androidx.appcompat.app.AppCompatActivity;

Готово


1

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

скомпилировать "com.android.support:appcompat-v7:XX:YY:ZZ"

в то время как XX: YY: ZZ - это код версии, который вы используете в своем файле Gradle, в противном случае, если вы установите эту версию ниже или выше, чем та, которую вы используете, тогда ваше приложение столкнется с некоторыми проблемами, такими как иногда сбои


1

я просто обновляю свою андроид студию с 2.3.2 до версии 3.1.2. и эта ошибка происходит.

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

я решаю эту ошибку, обновляя библиотеку appcompat из

скомпилировать 'com.android.support:appcompat-v7:23.4.0'

в

скомпилировать 'com.android.support:appcompat-v7:25.1.1'

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


1

Если аннулирование кэша не помогает, просто закройте проект, а затем снова откройте его. шаги:

  • Файл> Закрыть проект
  • Удалить проект из списка начальных проектов
  • Закрыть Android Studio
  • Откройте Android Studio
  • Открыть существующий проект с этим проектом


0

Я расскажу вам, как я решил эту проблему в затмении. Скачайте zip-файл по этой ссылке. https://github.com/dandar3/android-support-v7-appcompat, затем распакуйте этот файл, откройте проект, в папке lib вы увидите один файл jar с именем «android-support-v7-appcompat», добавьте этот файл jar в ваш проект. Это оно.введите описание изображения здесь


0

Это может быть из-за разницы версий на уровне приложения. Проверьте его один раз, а затем пересоберите.


0

Для меня не сработало ни одно из решений. Но я обнаружил, что все библиотеки вспомогательных библиотек отсутствовали в моих внешних библиотеках. А в других проектах AppCompatActivity была решена без проблем.

Для меня это помогло создать новый проект и скопировать все содержимое старой папки src в новый проект.

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


0

Используя мягкие способы, которые не будут работать, используйте сложный способ: выйдите из текущего экрана Android Studio и перейдите в свой проект в папку .idea. Переименуйте папку library-> lib_pre.

Перезапустите Android Studio. Теперь он воссоздает папку библиотек и снова работает гладко. Android Studio 3.1.3

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.