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

IntelliJ IDEA - ничего не может построить, всегда получается, что "пакет R не существует"

Я пытаюсь использовать IntelliJ IDEA для работы с Android-приложением с коллегой, который клянется им, но я не могу построить ни один из проектов Android, которые он ему отправляет, потому что всякий раз, когда я пытаюсь построить, я получаю сообщение об ошибке говоря package R does not exist.

Я пробовал все, что мог придумать. Примерами и другими примечаниями являются:

  • Убедитесь, что у меня есть версия файла local.properties, указывающая на корень моей папки Android SDK.

  • С помощью различных настроек в диалоговом окне структуры проекта (я не буду перечислять их все).

  • Проект, над которым я работаю, имеет два проекта библиотеки, также используя класс R, и они отлично работают.

  • Intellisense в среде IDE распознает класс R и предлагает материал, который я ожидаю.

Любая помощь будет принята с благодарностью. Я чувствую, что у меня что-то не хватает.

4b9b3361

Ответ 1

Я новый бренд для IntelliJ, поэтому прошу прощения, если это не сработает для вас. Я столкнулся с той же проблемой, и решение заключалось в том, чтобы добавить в проект Android Facet.

(Я нахожусь на Mac, поэтому здесь можно немного отпустить, и, вероятно, есть лучшие способы найти это окно, если да, дайте мне знать!)

  • Щелкните правой кнопкой мыши свой проект и перейдите к Open Module Settings (кажется, F4 также работает)
  • Выберите Facets в левом столбце
  • Нажмите кнопку +
  • Добавьте в проект Android Facet и VOILA!
  • Теперь вам может понадобиться импортировать R, что может быть огромной болью... так что, надеюсь, кто-то сможет перезвонить с помощью простого способа автоматического импорта

Надеюсь, это поможет кому-то!

Ответ 2

Другим возможным решением для перечисленных здесь является проверка того, что имя пакета в вашем AndroidManifest.xml совпадает с именем вашего фактического пакета:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.yourpackagename" >

Мой пакет строился нормально, пока я не реорганизовал имя пакета, все рефакторизовано, за исключением имени пакета в файле манифеста (см. выше), которое вызвало ошибку "Package R не существует".

Ответ 3

Если вы столкнулись с этим пакетом, который был создан до того, как вам понадобится "Перестроить". Build- > Rebuild Project. Удаление gen не делает этого, так как IDEA сохраняет реально сгенерированный R где-то еще.

Ответ 4

В моем случае я добавил несколько классов из другого проекта, и мне пришлось добавить импорт в пакет R из моего фактического проекта:

import com.youcompanyname.yourprojectname.R;

Ответ 5

Я начал играть с IntelliJ, так как у меня были проблемы с новой Android-студией и я хотел попробовать что-то более стабильное (я никогда не использовал его раньше). Я попал в ужасную ошибку "пакет R не существует". По моему опыту, это обычно что-то перепутано в XML файле. Для меня проблема была в самом деле с файлом AndroidManifest.xml для модуля библиотеки Android, который я создал для ActionBarSherlock. По какой-то причине, когда он создал файл AndroidManifest.xml, он не удосужился использовать файл AndroidManifest.xml, поставляемый с ABS, и он добавил следующее:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.ActionBarSherlockLibrary_4_3_1"
          android:versionCode="1"
          android:versionName="1.0">

    <application
        android:label="@string/app_name"
        android:icon="@drawable/ic_launcher">
        <activity
            android:name="ACTIVITY_ENTRY_NAME"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

Когда я создал этот модуль, я выбрал File > New Module... Затем я выбрал библиотечный модуль в разделе Android и для корня содержимого. Я просмотрел расположение файлов для АБС (другие поля автоматически заполнены правильно, и я не изменил их). Затем я нажал кнопку "Готово", и мне было предложено сохранить локальный файл или файл памяти для project.properties. Я решил сохранить локальный файл, и после этого он не подсказывал мне других.

Я понятия не имею, почему это испортило файл AndroidManifest.xml(возможно, то, что я сделал выше, было неправильным...???), но, чтобы исправить это, я просто скопировал исходный файл AndroidManifest.xml, который я загрузил с помощью библиотеки и заменил испорченный файл AndroidManifest.xml. После этого я выполнил Build > Rebuild Project и решил, что ошибки "package R не существуют".

Еще одна мысль: @xbakesx упоминает настройки Facets и для любых модулей, которые вы используете в качестве библиотек, вы должны убедиться, что "Модуль библиотеки" отмечен в разделе "Границы для этого модуля". У меня были некоторые проблемы с этим, когда я пытался выяснить, как настроить библиотеки в IntelliJ/Android Studio (я действительно использовал Eclipse).

Ответ 6

Я просто перезапускаю IntelliJ, и это волшебное решение. Сначала попробуйте.

Ответ 7

Имела ту же проблему - проблема в том, что в файле манифеста не было настройки по умолчанию по умолчанию.

Ответ 8

Для всех безнадежных людей, которые достигли этого далеко по ответам: я чувствую вашу боль. Я потратил час, ничего не делая, кроме как проделать все эти вещи, а также предложения из других источников. Я проверил все свои ресурсы xml дважды, очистил кеши, перестроил дюжину раз, даже перезапустил всю машину. Вот что на самом деле сработало для меня:

В разделе "Варианты сборки" (нижний левый угол), я выбрал другой вариант сборки (в моем случае релиз вместо отладки) для цели, имел недостающую R-проблему. решил.

Ответ 9

У меня реорганизовано packagename, и intellij не обновил его в манифесте.

Итак, если вы переработали пакетное имя, перейдите в манифест и обновите атрибут "пакет" в корне файла xml save и перестройте его. Если возникают какие-либо ошибки, возможно, это неправильное имя пакета в импорте (по крайней мере, это был мой случай), поэтому просто исправить их

надеюсь, что это поможет кому-то

Ответ 10

В моем случае мне пришлось удалить кеш компилятора intellj. на моей машине для Windows это было нечто вроде:

%USERPROFILE%\.IdeaIC12\system\compile-server\<my project>

Ответ 11

Попробуйте создать новый проект и выберите "Создать проект из существующих источников"

Ответ 12

Добавление моих $0.02 на всякий случай, если у кого-то есть проблема, которую я сделал. В моем случае я создал приложение "Hello world" с помощью IntelliJ и забыл изменить имя пакета из "com.example" . Затем я использовал IntelliJ для реорганизации имени пакета. Это вызвало ошибку при запуске.

Итак, я сделал глобальный поиск для "com.example" , и он был найден в файле AndroidManifest, как упоминалось другими. Однако изменение этого не помогло решить проблему. "com.example" также был найден в "workspace.xml" в каталоге ".idea". Я изменил все вхождения их, сделал пересоздание, а затем снова начал работать!

Это похоже на ошибку в IntelliJ.

Ответ 13

В Android Studio моя проблема заключалась в том, что когда я копировал вставку класса для использования в качестве шаблона для создания другого подобного класса, он просит автоматически импортировать кучу вещей, большинство из которых не будет связано с новым классом, поэтому я сказал отменить. с ним он оставил import com.your.packagename.R;, поэтому R не был фактически импортирован в файл, в котором я пытался его использовать.

можно установить с помощью alt-enter при нажатии на R (он должен быть выделен красным цветом)