Подтвердить что ты не робот

Android Studio не может разрешить R в импортированном проекте?

Я пытаюсь создать новую студию Android. Я экспортировал проект из eclipse, используя опцию build gradle. Затем я импортировал его в Android Studio. Файл R.java под gen имеет j в небольшом красном круге на нем. И в моих исходных файлах я получаю "не могу разрешить символ R" везде, где у меня есть ссылка на ресурс, например. "R.layout.account_list" и т.д.

Я раньше не использовал Intellij. Поблагодарили бы за любую помощь, поскольку, очевидно, не так много ответов о Android Studio. Спасибо!

4b9b3361

Ответ 1

  • Нажмите F4 в Структура проекта, проверьте SDK слева
  • Нажмите вкладку Модули --- > Источник, выберите gen и src в качестве источников

PS: Ответ за год и меню изменились.

Ответ 2

Файл → недействительные кеши

то

Перезапустить приложение

Ответ 3

Ни один из ответов в Интернете пока не помог. Build > Make Project не работает для меня. Для меня это было так же просто, как выбрать этот другой вариант (на Android Studio 1.3.1):

Создать > Создать модуль 'имя модуля'

Ответ 4

В моем случае у меня был файл Activity, импортированный из Eclipse, который имел строку:

import android.R;

Итак, все мои классы R решали SDK, как только я прокомментировал эту строку, все правильно составлено для моего пакета. Я только заметил эту проблему, когда я перемещал проект с моего Mac на мою машину Windows.

Ответ 5

Эта проблема начинается с меня, когда я начал работать с build.gradle, чтобы включить необходимые данные (signatureConfigs) для создания подписанного .apk. После того, что оказалось успешной сборкой из командной строки, я обнаружил, что перешел в любой класс, используя R. *, что все ссылки R. * были неразрешены.

Ответы здесь мне не помогли. Я решил повторно импортировать проект, и он волшебным образом решил проблему. Файл/Импорт проекта... и выберите файл build.gradle в корневой папке приложений. Я хотел бы знать, почему реимпорт исправил это:)

Ответ 6

Это, вероятно, связано с неудачной сборкой ресурсов

Как только проблема исправлена, просто Build > Rebuild Project выполнит трюк

Ответ 7

Перейти к Файл Настройки Компилятор теперь проверяет использование внешней сборки

затем перестроить проект

Ответ 8

Я часто сталкивался с этой проблемой, особенно когда я связывался с библиотекой проектов как часть другого проекта. В последнем случае этой проблемы, в моем проекте Android lib использовался WebView. Оказывается, что Gradle создает файл R.class в подкаталоге с именем "web", путь которого не имеет никакого отношения к моему пути к исходному коду. Когда я импортировал это, моя проблема исчезла. Что я узнал? В будущем просто выполните поиск файла R.class и обратите внимание на путь, в котором он находится. Затем импортируйте пакет в свой код, используя этот путь. Это действительно отстой, что вы должны вручную выполнить это. Gradle должен автоматически импортировать созданные им пакеты.

Ответ 9

Относительно следующего, от ответа песни Crossle

  • Нажмите F4 в структуру проекта, проверьте SDK слева.
  • Выберите модули --- > вкладка "Источник", проверьте gen и src как источники

Несмотря на сообщение "Мы предоставим пользовательский интерфейс для настройки параметров проекта позже... и т.д.", это сработало для меня.

Ответ 10

Сначала проверьте, есть ли импорт android.R; в верхней части вашего класса это происходит, когда автоматический импорт включен в студии android.

после этого прокомментируйте все строки вашего кода, в которых вы используете переменную R (вы можете прокомментировать весь класс или...) затем запустить приложение, он регенерирует переменную R, и вы можете раскомментировать свой код.

Ответ 11

Здесь то, что работало для меня в IntelliJ (Not Studio), в дополнение к ответам, представленным выше:

Вам нужно прикрепить фасет Android к существующему модулю Android. Для этого выберите модуль из списка модулей в "Настройки модуля", нажмите кнопку "+" сверху и выберите "Android". См. https://www.jetbrains.com/idea/webhelp/enabling-android-support.html.

Ответ 12

Решение состоит в том, чтобы открыть окно структуры проекта. [командой пресса +; на mac ox s. Я не знаю, какой ключ для других платформ. вы должны найти его в меню "Файл".] и нажмите "Модули" в разделе "Настройки проекта", затем откроется ваш проект, наконец, отметьте созданные R.java как Источники.

Я использую Intellij idea 14.0 CE. Сгенерированный R.java находится в файле build/generated/source/r/debug/com/example/xxx

Действительно нелегко найти в первый раз.

Ответ 13

Следуйте пяти шагам ниже:

  • Шаг 1 === > Удалить (CTRL X) дополнительный тег в файле манифеста XML.
  • Шаг 2 === > Открыть сборку → Очистить проект.
  • Шаг 3 === > Файл манифеста Open XML и последние последние теги (ы): Пример файла манифеста манифеста: (<uses-permission android:name="android.permission.VIBRATE"></uses-permission>)
  • Шаг 4 === > Шаг 2 снова.
  • Шаг 5 === > Открыть инструмент → Android → Проект синхронизации с Gradle.

У меня была такая же проблема, но после всех шагов она работает для меня.

Ответ 14

В IntelliJ 14

Проверьте, исключены ли сгенерированные источники. Обычно в структуре проекта → [module] → Paths → Выход компилятора: "Наследовать путь к компиляции"

Ответ 15

Моя проблема заключалась в том, что у меня был файл 'default.jpg' в папке с возможностью переноса, и почему-то каждый ресурс не был разрешен. Исправлено после удаления этого файла!

Ответ 16

Я также столкнулся с той же проблемой, и я прошел много ответов на stackoverflow. Затем я нашел одно решение, которое поможет мне решить эту проблему.

Проверьте имя пакета в файле AndroidManifest.xml. Я забыл изменить его, копируя в новый проект другой проект.

Ответ 17

Вы должны проверить все свои файлы, если у него нет ошибок, и снова перестройте свой проект в:

  • Сборкa > Реконструкция проекта.

Или в:

  • Файл > Настройки > Сборка, выполнение, развертывание > Компилятор

Отметьте use external build и перестройте проект.

Ответ 18

Я решаю эту проблему с настройкой JAVA_HOME, CLASSPATH.

Люди иногда пропускают JAVA_HOME и CLASSPATH при настройке Java_path.

Итак, попробуйте проверить переменную среды.

CLASSPATH → .;

JAVA_HOME → C:\Program Files\Java\jdk (версия) или где установлена ​​Java

а затем проверьте файл xml, который может иметь ошибку (не называйте известные вещи, такие как кнопка, текст и т.д.)

Ответ 19

Ни один из этих ответов не помог мне!

Моя проблема не была проблемой! Программа может полностью компилироваться и запускаться на устройстве, но среда IDE дала мне раздражающую синтаксическую ошибку. Он подчеркнул линии кодов, которые включали "R".

Способ решения этой проблемы:

Я просто добавил эти три класса в папку "myapp/ gen/com.example.app/":

BuildConfig

package com.example.app;
public final class BuildConfig {
    public final static boolean DEBUG = true;
}

Манифест

package com.example.app;
public final class Manifest {
}

R

package com.example.app;
public final class R {
}

Ответ 20

В моем случае (Linux, Android Studio 0.8.6) следующие действия:

Файл > Структура проектa > Модули > выберите главный модуль > выберите его грань > Сгенерированные источники

изменить значение "Каталог для сгенерированных файлов:"

от

MY_PATH/.idea/gen

к

MY_PATH/gen

Без компиляции этого кода apk выполняется и успешно выполняется

но редактор Android Studio выделяет mypackage.R.any все как "не может разрешить" во всех классах подпакетов

Ответ 21

У меня была такая же проблема, и я исправил ее, удалив дополнительную библиотеку.

Чтобы попробовать это решение, перейдите в раздел "Файл" > "Структура проекта" (на Mac вы можете использовать команду "Apple;" )

Затем выберите приложение на левой вкладке. Перейдите на вкладку зависимостей и удалите дополнительную библиотеку.

Ответ 22

проверить версию инструмента сборки в build.gradle(для приложения модуля). Затем перейдите в диспетчер android sdk, посмотрите, установлена ​​ли версия, если она не установлена, или измените версию инструмента сборки на тот, который установлен, как показано ниже.

    android {
          buildToolsVersion "22.0.1"
          ..
          ..
          ..
     }

Ответ 23

Решение опубликовано https://stackoverflow.com/users/1373278/hoss выше работал у меня. Я воспроизвожу его здесь, потому что я еще не могу прокомментировать сообщение "Хосс":

Удалите import android.R; из вашего файла активности, о котором идет речь.

Моя настройка:

Android Studio 1.2.2

Экспортируется проект с одного Mac на Git (все работает). Затем я импортировал проект на другой Mac из Git. То, когда он прекратил разрешать файлы ресурсов.

Я пробовал все в этой теме:

  • недействительный кэш и перезапуск
  • Удалить .iml файлы и папку .idea и reimport project
  • Проект по очистке и перестройке

Ничего не работало, кроме удаления import android.R; из моего java файла активности.

Чтобы избежать этой проблемы в будущем, добавьте папку .idea в ваш файл .gitignore. Есть хороший плагин от Git для gitignore в Android Studio. Установите этот плагин и щелкните правой кнопкой мыши в .idea > Add to .gitignore

Ответ 24

просто очистить проект, а затем синхронизировать проект с файлом gradle.

Ответ 25

В моем случае я обнаружил, что вместо "R.layout.account_list" был указан "android.R.layout.account_list". Просто удалите "android". может решить проблему. Надейтесь на эту помощь, потому что иногда вы можете упускать из виду, когда вы слишком фокусируетесь.

Ответ 26

В моем случае:

Мне пришлось скопировать ссылку R файл; т.е. правой кнопкой мыши gen/<package> /R и Copy Reference. Затем вставьте это над R в свой код, где он не может быть разрешен.

Это решило это для меня (пробовав все здесь). Все еще не уверен, почему это работает, если быть честным.

Ответ 27

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

GEN/ком/пример/приложение/BuildConfig.java

GEN/ком/пример/приложение/Manifest.java

GEN/ком/пример/приложение/R.java

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

Ответ 28

Если эта ошибка возникла при импорте проекта из Eclipse. Причина в том, что некоторые из файлов xml имели ошибки. Проверьте все файлы XML на наличие ошибок. В том числе androidmanifest.xml, а также значения, темы, стили, папки макетов и т.д. Предупреждения в xml в порядке, но ошибки будут генерировать эту ошибку.

Затем выполните Чистый проект и перестройте.

Ответ 29

Для меня, с Android Studio 1.5.1, решение состояло в том, чтобы воссоздать весь проект с немного другим именем.

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

Ответ 30

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

Например, в факторе Android в разделе "Сгенерированные источники" у меня было:

Directory for generated files: <project dir>/target/intellij-gen

Когда я изменил это на <project dir>/gen, проблема исчезла.

Аналогично, когда я изменил его на <project dir>/gen2, проблема также исчезла, но мне пришлось сделать глубокую очистку, чтобы заставить ее скомпилировать снова:

rm -rf ~/.IdeaIC2016.1/system/compile-server/<project>_<hash>

и удаления всех сгенерированных каталогов и target dir.