Android Studio раптом не може розв’язати символи


207

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

Що я спробував:

  • Перебудова проекту
  • Прибирання проекту
  • Синхронізація з файлами Gradle
  • Закриття проекту, закриття AS та відновлення / повторне відкриття
  • Файл> Недійсні кеші / Перезапуск
  • Досліджуючи Лінта, не побачив нічого очевидного
  • Повторна перевірка всіх бібліотек підтримки оновлена ​​в менеджері 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
Hesam

16
«Недійсний кеш / перезапуск» працював на мене.
Eagle_Eye

1
Якщо б та ж проблема , і фіксується з відповіддю на цей SO відправляти stackoverflow.com/a/30828772/1550233
johnw182

прийняти цю відповідь , так що користувачі не будуть нічого видаляти вручну stackoverflow.com/a/22901534/7767664
user924

Відповіді:


238

Ви вже зійшли зі списку більшості речей, які були б корисні, але ви можете спробувати:

  • Вийдіть з Android Studio
  • Створіть резервну копію проекту
  • Видаліть усі файли .iml та папку .idea
  • Відновіть Android Studio та повторно імпортуйте проект

До речі, повідомлення про помилки, які ви бачите в діалоговому вікні Структура проекту, здебільшого нечіткі.

ОНОВЛЕННЯ:

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


3
Це працювало для мене. Я з цим збивався, цілий день намагався зрозуміти це! Дякую за відповідь.
Патрік Кафка

25
Для мене було достатньо видалити папку бібліотек у .idea та проект синхронізації преси з gradle.
Габріель Іттнер

2
У мене така ж проблема з 0.8.9, і я спробував усі рішення, перераховані тут, не пощастило :(
Rémy DAVID

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
Для мене у мене була помилка живлення, коли завантажувались андроїд-студії 0.8.2, і він не визнає жодного мого імпорту java, і все було просто червоним. Це працювало для мене, дякую!
Саймон

2
Я використовую Android Studio 1.0.2, коли я відкрив свій проект, я був сповнений червоних помилок. Я вирішив це за допомогою Android Studio -> file -> недійсних chaches / restart. коли мій проект перезапустився, він працював ... без червоних помилок
SoftEye

4
Android Studio 1.1.0. У мене теж був відключення електроживлення, і це зробило трюк.
Фіто

2
Це тепер має бути правильною відповіддю. Я підтвердив, що у Android Studio 1.4 фінал.
Девідеяс

58

Перейдіть за посиланням, і це працювало на мене.

1.) Оберіть опцію «Файл» у меню зліва у верхній частині студії Android.

2.) Оберіть опцію: "Недійсний кеш / перезапуск .." Відкриється діалогове вікно.

3.) Натисніть на першу кнопку з опцією: "Недійсний та перезапустіть"

4.) Він закриє студію і перезапустить її. Почніть індексацію проекту.

Це вирішило мою проблему:

Файл -> Недійсний кеш / Перезапуск -> Недійсний та перезапуск

Джерело: https://www.youtube.com/watch?v=FX_gCTpqhwM



Працював для мене на Android Studio 3.5.3
flawyte

13

Android Studio 1.3

  1. Відкрийте Налаштування модуля
  2. Клацніть свій модуль у меню Модулі
  3. На вкладці "Властивості" встановіть сумісність джерел і цільову сумісність на свою версію Java.

Я більше нічого не робив, і це працювало на мене.


Де можна знайти параметри модуля?
bendaf

3
@bendaf Клацніть правою кнопкою миші ваш модуль у провіднику та виберіть "Відкрити налаштування модуля"
Jason Robinson

Ці параметри можна також знайти у меню Файл -> Структура проекту -> Властивості
ChumiestBucket

10

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


Працювали для мене! Дякую! Використання канальної збірки 1.0RC 1. Використання minifyEnabled trueабо minifyEnabled falseне визначення proguardFiles.
Калем

Також не варто забувати , що проекти AndroidLibrary не працюють Proguard stackoverflow.com/a/10992604/665823 .
Калем

4

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

Моє рішення Коли проблема знову з’явилася, я спробував трохи змінити свій файл gradle програми, достатній для AS, щоб попросити синхронізувати файли, і це зробило трюк. Потім я видалив зміну.

Я думаю, що "Синхронізувати проект з файлами Gradle" може також працювати, але я сам не пробував цього

Сподіваюся, це допомагає


3

У Android Studio є набагато простіше рішення, і воно зазвичай працює для мене, не потребуючи жодного грубого рішення, згаданого в інших відповідях - тому спершу слід спробувати: введіть тут опис зображення

натисніть на символ "gradle" праворуч від Android Studio, а потім на інструмент "Оновити всі проекти Gradle".


2

Думав, я теж викину це:

річ, яка працювала для мене, - це змінити мій варіант збірки назад до варіанту, який працював раніше. Я чомусь змінив це раніше (і я забув, чому).

в будь-якому випадку, найкраще зробити, щоб спробувати згадати, що ви змінили в той день (це може бути щось таке ж незначне, як чистка, або повернення до попереднього вчинення git) ... тощо.

це також допомагає спробувати повторно синхронізувати gradle та примусити відновити.


1

Кілька годин цього ранку боролися з тією ж проблемою. Побудова мого проекту з командного рядка, здається, зробила для мене трюк.

Точні кроки -

  1. Клонований свіжий сховище (жодні файли студій Android не є репо)
  2. Вбудований проект налагодження з командного рядка (./gradlew clean assembleDebug)
  3. Відкрийте Android Studio, імпортуйте проект

Щоб перевірити, чи спрацювало це, загляньте в папку вибухнулих пакетів ваших проектів, огляньте бібліотеку та знайдіть class.jar. Якщо він розширюється, то все буде добре.

редагувати - я виявив, що після чистої роботи в студії Android він знову зламався. Тож якщо вам доведеться чистити, вам доведеться повторити цей процес.


я не знаю, у чому була проблема, але gradle clean збираєDebug працює і все зараз добре
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 (додаток), потім синхронізувати, потім знову відмежувати залежності, а потім знову синхронізувати. Боб твій дядько.


0

Я зіткнувся з подібною проблемою, але я дотримувався наступних кроків у моєму випадку: -

1) .inside проект у папці .idea відкрити модулі.xml. 2) .позначте, чи є два записи для одного IML-файла. 3) .видаліть один із дублікатів запису та закрийте андроїд-студію або знову створити файл gradle.

У моєму випадку це спрацювало. Сподіваюся, це допомагає


0

Я вирішив це, встановивши JDK. У мене з'явилося спливаюче повідомлення про те, що Setup 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 шлях зі шляху і зробив чисту конструкцію, студія Android магічно працювала.


0

Я спробував усе перераховане тут. Тоді я перевірив свій androidmanifest.xml, у мене були невідповідні стоопіди через перейменування папок та перейменування пакунків.


0

У моєму багатомодульному проекті проблема полягала в тому, що версія "com.android.support:appcompat-v7" в модулі A була "22.0.0", а в B - "22.2.0".

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


0

Майте на увазі, що назва файлів та спеціально папок може призвести до цієї помилки. Наприклад, якщо у вас є папка "Helpers", а пакет для файлів у цій папці "com.wever.helpers", це не призведе до помилок компіляції, але призведе до того, що студія Android не зможе завантажити символи в цю папку . Однією з типових причин цього є те, що ви називаєте папку з першої великої літери, вводите її в Git і пізніше змінюєте ім'я папки на всі малі регістри. Система Git не розпізнає зміни, що призводить до розбіжності між локальними та віддаленими сховищами, на які впливатимуть лише нові клони репозиторію.


0

Ще одна дуже тонка причина:

Бібліотека з різними смаками повинна бути складена певним чином, ніж звичайна одноразова ароматизація. Інакше він мовчки не може вирішити помилку символів .

Додаток із декількома смаками на основі бібліотеки з кількома смаками в Android Gradle


0

У мене було набагато дивніше рішення. Якщо хтось зіткнеться з цим, варто подвійно перевірити файл gradle. Виявляється, коли я клонував цей git і gradle запускався, він видалив один рядок з мого файлу build.gradle (app).

dependencies {
     provided files(providedFiles)

Очевидно, що проблема тут полягала в тому, щоб просто додати його назад і повторно синхронізувати з gradle.


0

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

Моїм рішенням було встановити minifyEnabled на false в проекті бібліотеки, зібрати аар, скопіювати його в мій проект, визнати недійсними кеші та синхронізувати проект класу, і все працювало чудово.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.