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



Работал для меня на 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. Я удалил весь раздел сборки, затем сделал повторную синхронизацию и проблема решена.


Работал на меня! Спасибо! Использование 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, поэтому я пропустил все свои настройки. Но это работает!


У меня тоже сработало. (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.



1

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


0

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

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

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


0

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


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
}

0

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

import android.content.SharedPreferences.Editor;

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


0

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

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


0

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


0

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

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


0

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


0

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

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

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


0

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

dependencies {
     provided files(providedFiles)

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


0

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

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

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