Android Studio неожиданно не может разрешить символы

207

Android Studio 0.4.2 работала нормально, и сегодня я открыл ее, и почти все было красным, а автозаполнение перестало работать. Я смотрю на импорт, и AS, кажется, говорит мне, что не может найти android.support.v4 внезапно (предлагая мне возможность удалить неиспользованный импорт). ( android.support.v7, кажется, хорошо, хотя).

Вещи, которые я пробовал:

  • Перестройка проекта
  • Очистка проекта
  • Синхронизация с файлами Gradle
  • Закрытие проекта, закрытие AS и повторный запуск / открытие
  • File> Invalidate Caches / Restart
  • Осматривая Линт, не видел ничего очевидного
  • Перепроверьте, все ли библиотеки поддержки обновлены в менеджере SDK.
  • Изучаю мой Build.gradle, хотя изменений нет и он такой же, как обычно, так, как он работал все время.

Вот это на случай, если это уместно:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
    compile 'com.android.support:gridlayout-v7:19.0.0'
    compile 'com.android.support:appcompat-v7:19.0.0'
    compile 'com.google.android.gms:play-services:4.0.30'
    compile project(':libraries:facebook')
    compile files('libs/core.jar')
}

Когда я нажимаю «Синхронизировать с Gradle» и открываю «Настройки проекта», я получаю красную ошибку, сообщающую, что у меня есть дубликаты ссылок на библиотеки и удаление неиспользуемых ссылок. введите описание изображения здесь

Мой проект компилируется и работает нормально, но мне действительно нужно, чтобы автозаполнение работало !! У кого-нибудь есть предложения?

введите описание изображения здесь

Дэниел Уилсон
источник
66
Каждое обновление Android Studio ломает проекты, я уже устал от этого. Почему они не могут держаться и выпустить полезную версию.
Конрад Моравский
3
Перед очисткой или удалением какого-либо файла сначала прочтите этот ответ. Это может решить вашу проблему. stackoverflow.com/a/19223269/513413
Хесам
16
«Invalidate Caches / Restart» работал для меня.
Eagle_Eye
1
Была такая же проблема и исправлена ​​с ответом на этот пост SO stackoverflow.com/a/30828772/1550233
johnw182
примите этот ответ, чтобы пользователи ничего не
удаляли

Ответы:

238

Вы уже вошли в список большинства полезных вещей, но вы можете попробовать:

  • Выход из Android Studio
  • Сделайте резервную копию вашего проекта
  • Удалите все файлы .iml и папку .idea
  • Перезапустите Android Studio и повторно импортируйте ваш проект

Кстати, сообщения об ошибках, которые вы видите в диалоговом окне «Структура проекта», по большей части являются поддельными.

ОБНОВИТЬ:

Android Studio 0.4.3 доступна на канале обновлений, и, надеюсь, должна решить большинство из этих проблем. Там могут быть некоторые затяжные проблемы; если вы видите их в 0.4.3, сообщите нам об этом и попытайтесь дать нам надежный набор шагов для воспроизведения, чтобы мы могли позаботиться о всех путях кода.

Скотт Барта
источник
3
Это сработало для меня. Я сходил с ума с этим, целый день пытался понять это! Спасибо за ответ.
Патрик Кафка
25
Для меня было достаточно удалить папку с библиотеками в .idea и синхронизировать проект прессы с Gradle.
Габриэль Итнер
2
У меня та же проблема с 0.8.9, и я безуспешно пробовал все решения, перечисленные здесь :(
Реми ДЭВИД
3
У меня не работало в AndroidStudio 1.2 RC. Это кошмар.
RED_
7
Это все еще происходит в 2018 году, и ваш ответ был полезным. Хотелось бы, чтобы это было исправлено, хотя ... Произошло в AS 3.1.1.
Демогорий
302

Ни одна из вещей, упомянутых ранее здесь, фактически не работала для меня. Но потом я нашел этот пункт меню в меню файлов, Invalidate Caches/Restartкоторое, похоже, решило проблему.

Я на самом деле не знаю, что произошло в фоновом режиме, но когда Android Studio снова запустилась, строка состояния говорила Indexing...минуту или около того, что, очевидно, творило чудеса.

Для справки я использую Android Studio 0.5.4.

Виктор Хэгквист
источник
2
Работал для меня на 0.5.9
Отец стека
19
У меня был сбой питания при загрузке Android Studio 0.8.2, и он не распознает мой импорт Java, и все было просто красным. Это сработало для меня, спасибо!
Симон
2
Я использую Android Studio 1.0.2, когда я открыл свой проект, я был полон красных ошибок. я решил это на андроид студии -> файл -> сделать недействительными chaches / restart. когда мой проект перезапустился, он заработал .. никаких красных ошибок
SoftEye
4
Android Studio 1.1.0. У меня также был сбой питания, и это помогло.
Phito
2
Теперь это должен быть правильный ответ. Я подтвердил финальную версию Android Studio 1.4.
Давидеас
59

Перейдите по ссылке, и у меня это сработало.

1.) Выберите опцию «Файл» из меню в левой верхней части Android Studio.

2.) Выберите опцию: «Invalidate Cache / Restart ..». Откроется диалоговое окно.

3.) Нажмите на первую кнопку с опцией: «Отменить и перезагрузить»

4.) Он закроет студию и перезапустит ее. Начать индексацию проекта.

Это решило мою проблему:

Файл -> Недействительный кэш / перезапуск -> Недействительный и перезапуск

Источник: https://www.youtube.com/watch?v=FX_gCTpqhwM

Манмохан Сони
источник
1
для Android Studio 3+: stackoverflow.com/questions/50313885/…
user1506104
Работал для меня на Android Studio 3.5.3
flawyte
Работал для Android Studio 4.x
MewX
13

Android Studio 1.3

  1. Открыть настройки модуля
  2. Нажмите на свой модуль в меню Модули
  3. На вкладке свойств установите Совместимость исходного кода и Целевую совместимость с вашей версией Java.

Я больше ничего не делал, и это сработало для меня.

Матье де Брито
источник
Где я могу найти настройки модуля?
сентября
3
@bendaf Щелкните правой кнопкой мыши по модулю в проводнике и выберите «Открыть настройки модуля»
Джейсон Робинсон,
Эти настройки также могут быть найдены в Файл -> Структура проекта -> Свойства
ChumiestBucket
10

Для меня это была запись сборки progaurd в моем build.gradle. Я удалил весь раздел сборки, затем сделал повторную синхронизацию и проблема решена.

Helzgate
источник
Работал на меня! Спасибо! Использование canary build 1.0RC 1. Использование minifyEnabled trueили minifyEnabled falseотсутствие определения proguardFiles.
Калем
Также не забывайте, что проекты AndroidLibrary не работают с proguard stackoverflow.com/a/10992604/665823 .
Калем
4

Я использую Android Studio 3.1.4, и у меня возникла такая проблема при переходе от моей ветви разработки с более низкой целью API к другой ветви с целевой API Oreo. Я попробовал первое решение, которое сработало, но это довольно сложно, в то время как второе решение не решило проблему.

Мое решение Когда проблема снова возникла, я попытался немного изменить файл моего приложения, чтобы AS попросил меня синхронизировать файлы, и это помогло. Затем я удалил изменения.

Я думаю, что «Синхронизировать проект с файлами Gradle» может работать, но я сам не пробовал

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

Еноне
источник
3

Существует гораздо более простое решение, встроенное в Android Studio, и оно обычно работает для меня без необходимости использования какого-либо грубого решения, упомянутого в других ответах, поэтому вам следует сначала попробовать это: введите описание изображения здесь

нажмите на значок «gradle» в правой части Android Studio, а затем на инструмент «Обновить все проекты Gradle».

Амир Увал
источник
2

Думал, я тоже это выброшу

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

в любом случае, лучше всего попытаться вспомнить, что вы изменили в тот день (это может быть что-то столь же незначительное, как очистка или возврат к предыдущему git commit) ... и т.д.

это также помогает попытаться повторно синхронизировать Gradle и форсировать восстановление.

Дэвид Т.
источник
1

Боролся с той же проблемой пару часов этим утром. Создание моего проекта из командной строки, похоже, помогло мне.

Точные шаги -

  1. Клонированный свежий репозиторий (в репо нет файлов Android Studio)
  2. Встроенный отладочный проект из командной строки (./gradlew cleanasseDebug)
  3. Откройте Android Studio, импортируйте проект

Чтобы проверить, сработало ли это, загляните в папку ваших проектов exploded-bundles, осмотрите библиотеку и найдите classes.jar. Если это расширяется, то все будет хорошо.

редактировать - я нашел после выполнения очистки в Android Studio, он снова сломался. Так что если вам нужно очистить, вам нужно будет повторить этот процесс.

Кевин Грант
источник
я не знаю, в чем была проблема, но gradle clean сборка. Отладка работает, и сейчас все в порядке
Killer
1

Ни один из этих методов не помог мне в Android Studio 0.5.8.

Моим решением было удалить каталог ~ / .AndroidStudioPreview (в Ubuntu). Извините, я понятия не имею, где это в других ОС. В этом каталоге хранятся временные файлы и настройки Android Studio, поэтому я пропустил все свои настройки. Но это работает!

DmitryDzz
источник
У меня тоже сработало. (Android Studio 0.6.0 на элементарной ОС)
rogeriolino
1

Другой способ - загрузить JDK 1.7 и изменить путь от Android Studio в сообщении об ошибке ... и выбрать Домашнюю папку, которая содержится в папке Jdk 1.7.

Панос
источник
1

Получил ту же проблему сегодня. Исправлено это путем изменения местоположения jdk в структуре проекта с \java\jdk1.7.0_05на \java\jdk1.7.0_25(которого я не знал, существовало до сих пор).

Я использую Android Studio 0.8.6.

opened_eyes_media
источник
1

Я исправил это, удалив settings.gradleиз моего модуля подпроект. Это проект Java Gradle с собственным settings.gradleфайлом, который каким-то образом испортил его.

Спасибо этому парню: https://stackoverflow.com/a/33978721/425238

Белолобый
источник
1

Я попытался очистить проект, а затем сделать недействительным кеш, ни один из которых не сработал. Для меня сработало закомментировать все мои зависимости в build.gradle (app), затем синхронизировать, затем снова раскомментировать зависимости и снова синхронизировать. Боб твой дядя.

CKP78
источник
0

Я столкнулся с подобной проблемой, но я сделал следующие шаги в моем случае: -

1) .inside проекта в папке .idea откройте modules.xml. 2). Проверьте, есть ли две записи для одного и того же файла IML. 3). Удалите один из дубликатов и закройте Android Studio или создайте файл gradle снова.

В моем случае это сработало. Надеюсь, поможет

Гагандип Сингх
источник
0

Я понял это, установив JDK. У меня появилось всплывающее окно с сообщением, что при установке JDK при наведении мыши на ошибку.

varghesekutty
источник
0

У меня была такая же проблема, ни одно из перечисленных здесь решений не сработало. Проблема заключалась в том, что мои исходные файлы находились не в нужной папке.

Структура каталога ДОЛЖНА быть:

[project]\[module]\src\main\java\[yourpackage]\[yourclass.java]

Реми ДЭВИД
источник
0

Я наконец выяснил, что вызывает эту проблему.

На самом деле, вам не следует помещать .idea/librariesпапку в ваш репозиторий. Это создает странные вещи в Android Studio, которые стремятся удалить все загруженные библиотеки.

Если у вас есть история коммитов, просто воссоздайте все недостающие файлы библиотеки и избегайте их повторной фиксации. В противном случае, просто удалите всю .ideaпапку и снова импортируйте ее в AS.

Адриен Кадет
источник
0

попробуйте изменить ваш build.gradle со следующими значениями:

android {compileSdkVersion 18 buildToolsVersion '21 .0.1 '

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}
Fakher
источник
0

Я использую общие настройки, но Android Studio пожаловалась на символ редактора. Затем я добавил

import android.content.SharedPreferences.Editor;

и символ это круто сейчас.

Бадр
источник
0

Пожалуйста, проверьте, если у вас есть путь к проекту, который имеет специальные символы, такие как! (восклицательный знак).

В аналогичной проблеме, с которой я столкнулся , это было основной причиной - поскольку многие Java-приложения, по-видимому, не допускают такие специальные символы (например, выполнение «очистки gradlew» из терминала приведет к ошибке и вызовет исключение RunTimeException.). Ни одно из других решений, опубликованных в Интернете, не помогло мне. Но однажды я удалил! с пути и сделал чистую сборку, Android Studio волшебным образом сработала.

Джим С
источник
0

Я перепробовал все перечисленное здесь. Затем я проверил свой androidmanifest.xml, у меня были некоторые несоответствия сутулости из-за переименований папок и переименований пакетов.

JDOaktown
источник
0

В моем многомодульном проекте проблема заключалась в том, что версия «com.android.support:appcompat-v7» в модуле A была «22.0.0», а в B - «22.2.0».

Решение : убедитесь, что
1. версия общих библиотек одинакова среди модулей.
2. каждый из модулей компилируется без ошибок (попробуйте собрать каждый из них из CLI).

surlac
источник
0

Имейте в виду, что имена файлов и особенно папок могут привести к этой ошибке. Например, если у вас есть папка «Помощники», а пакет для файлов в этой папке - «com.whwhat.helpers», это не приведет к ошибке компиляции, но приведет к тому, что Android Studio не сможет загрузить символы в этой папке. , Типичная причина этого - когда вы называете папку с первой заглавной буквой, фиксируете ее в Git, а затем изменяете имя папки на все строчные. Система Git не распознает изменения, приводящие к расхождению между локальным и удаленным репозиториями, на которые будут влиять только новые клоны репозитория.

Эдуардо Кобучи
источник
0

Еще одна очень тонкая причина:

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

Приложение с несколькими ароматами на основе библиотеки с несколькими ароматами в Android Gradle

WindRider
источник
0

У меня было гораздо более странное решение. В случае, если кто-то столкнется с этим, стоит дважды проверить ваш файл Gradle. Оказывается, что когда я клонировал этот git, а gradle работал, он удалил одну строку из моего файла build.gradle (app).

dependencies {
     provided files(providedFiles)

Очевидно, что проблема заключалась в том, чтобы просто добавить его обратно и выполнить повторную синхронизацию с Gradle.

Blaze Gawlik
источник
0

У меня была похожая проблема, когда я перестраивал файл aar и заменял старый в моем проекте новым. Я рассмотрел все решения здесь, и никто не решил мою проблему. Позже я понял, что minifyEnabled был установлен в true в библиотечном проекте, который эффективно удалял много мертвого кода, который не использовался в библиотечном проекте.

Мое решение состояло в том, чтобы установить для minifyEnabled значение false в проекте библиотеки, собрать файл aar, скопировать его в мой проект, сделать недействительными кэши и синхронизировать проект оценки, и все работало нормально.

Крутой парень CG
источник