Проблемы с Android. Файл R.java не обновляется?

У меня возникла проблема с файлом gen/r.java. Когда я создаю или редактирую файлы в таких ресурсах, как layout/values/strings.xml e.t.c, файл r.java не обновляется. Я следил за учебником, и по какой-то причине он не будет обновляться. В XML файле ошибок нет.

Я слышал, что люди говорят "используйте clean/build" e.t.c, но это просто удаляет файл r.java, и я не могу вернуть его после многих попыток. Это приводит к тому, что мне придется снова переделать весь проект, чтобы вернуть файл gen. Почему это происходит?

Ответы

Ответ 1

Проект → Чистое работает для меня. R.java удаляется и автоматически создается.

Ответ 2

Я столкнулся с этим раньше, я работаю, мы обнаружили, что файл R.java генерируется только после редактирования файла Mainfest.xml. Поэтому просто сделайте быстрое изменение этого файла.

Ответ 3

это будет работать для вас..... Go project > clean. он сгенерирует вашу R.java или вы можете удалить свои R.java, и Eclipse автоматически сгенерирует вашу R.java.

Ответ 4

Существует хорошая возможность, потому что вы не соблюдаете соответствующие соглашения об именах в папке res. У меня была эта же проблема, и, используя intellij IDE, щелкните правой кнопкой мыши по файлу res и нажмите "Принудительно восстановить R". Intellij сказал мне:

Недопустимое имя файла: должно содержать только [a-z0-9]

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

Ответ 5

Я сталкиваюсь с той же проблемой во время моего проекта. Убедитесь, что в любом из xml файлов нет ошибки. Если один из xml, содержащий файл ошибки R.java, не обновляется.

Ответ 6

Вы должны проверить свой файл манифеста на правильный путь для пакетов. Обычно, когда происходят изменения, мы забываем о пути класса для MainActivity или переименовываем основной класс или пакет. Затем удалите файл R и выполните Project → Clean, чтобы восстановить R файл. Надеюсь это поможет.

Ответ 7

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

Ответ 8

Проблема может заключаться в том, что у вас есть "import android.R" во главе файла или рядом с ним. Если это так, удалите строку и повторите попытку.

Ответ 9

Проверьте, соответствует ли ID foreach UI

Android: ID = "@андроид: ID/вкладки"

У меня была та же проблема и менялась следующим образом:

андроид: идентификатор = "@+ код/​​вкладки"

Решила проблему!

Ответ 10

У меня была эта проблема раньше, вот несколько способов ее исправить.

1. make sure in the Manifest.xml that the package is set to the right name.
2. make sure your gen matches your package name example 

gen/com.expample.pack/R.java

Также я нашел, если вы отредактируете его в eclipse, он будет регенерировать.

Ответ 11

МАСТЕР ВСЕГДА РЕШИТ. (Все решения не очень хорошие)

Опыт лучше, чем все

Если ваша проблема в том, что "gen/R.java" не обновляет новый ID, DRAWABLE или Strings, который вы объявили, это просто потому, что на одной или некоторых ваших XML-страницах существует фатальная ошибка.

  • 1: в большинстве случаев это с файлом res/values ​​/string.xml, поэтому зайдите в файл, нажмите "Просмотр XML" справа от "ressources", после чего вы обязательно заметите красный -маркой справа или слева от вашей XML-страницы.

    • сосредоточиться на нем:
      • вы можете прочитать что-то вроде "error: apostrophe, которому не предшествует \(...)". Это означает, что в вашем тексте есть один или несколько апострофов. решение состоит в том, чтобы превзойти все апострофы с помощью \back-slash. -
        • Вы можете исправить все апострофы, нажимая: CTRL + F и вставляя апостроф (') в первый квадрат, а затем во второй. затем нажмите кнопку "Заменить все" в нижней части диалогового окна.
  • 2: дайте мне свою ошибку, и я отвечу вам менее чем за 1 час.

Ответ 12

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

Я скорректировал их и очистил свой проект, он решил мою проблему.