Ответ 1
Я нашел проблему - я создал изображение 9patch с областью патча, определенной только по оси Y (я пытался предотвратить изменение размера на другом).
Остается вопрос: почему нет предупреждения об ошибке? Или, если есть - где он похоронен?
Недавно у меня возникли некоторые проблемы с файлом R.java. Теперь я решил сделать резервную копию и удалить файл, чтобы узнать, что произойдет.
Ничего не произошло, поэтому я создал пустой файл R.java и надеялся на лучшее. Теперь Eclipse, похоже, выясняет, что файл был подделан и даже выдает предупреждение:
R.java was modified manually! Reverting to generated version!
И это все. Я попытался создать его вручную, но не получил никаких результатов.
Итак, у меня есть два вопроса:
Буду признателен за любую помощь. Как обычно, проблема возникла всего за несколько дней до крайнего срока:)
Я нашел проблему - я создал изображение 9patch с областью патча, определенной только по оси Y (я пытался предотвратить изменение размера на другом).
Остается вопрос: почему нет предупреждения об ошибке? Или, если есть - где он похоронен?
У меня возникла проблема с компиляцией моего приложения для Android, с кажущимися необъяснимыми ошибками о сбое создания R.java.
Проблема была вызвана тем, что я ранее убивал эмулятор Android во время сборки. Не делай этого! Ключом было появление нескольких оставшихся файлов *.out.xml.
Решение заключалось в том, чтобы выбрать проект, щелкните Project- > Clean, а затем вручную удалите все файлы *.out.xml. Только тогда я могу нажать Run- > Run и иметь успешную сборку.
Еще одна вещь: я использую Eclipse. Я должен был убедиться, что проект был выбран в Package Explorer, а not - только некоторый случайный исходный файл. Легко не заметить!
R.java автогенерируется при сборке. Это содержимое основано на файлах ресурсов (включая макеты и предпочтения).
Когда вы удалили его, он был воссоздан, но если вы создадите свой собственный, вы столкнетесь с проблемой, так как система сборки не заменит его.
Вы можете просто удалить его снова (вручную или выбрав Project- > Clean) и перестроить свою программу.
У меня была эта проблема несколько раз, и в большинстве случаев это вызвано некоторой ошибкой в файлах "res", проверьте, что все в порядке, во всех ваших файлах res, в основном XML, и после того, как вы можете создать.
Например, две общие причины этой проблемы:
Не правильно написано имя свойства в стиле в XML файле.
Не удалось закрыть строку в XML файла локали.
Извините, но попробуйте проверить вывод в Eclipse. Возможно, у вас есть некоторые ошибки, которые мешают Eclipse завершить процесс сборки (проверьте ваш AndroidManifest.xml, правильно ли это?). Я имею в виду, что вы должны проверить все свои файлы ресурсов (string.xml, layouts,...) и интерфейсы (*.aidl), могут быть некоторые проблемы (непоследовательный синтаксис или что-то еще...), которые предотвращают создание eclipse R.java.
У меня была одна и та же проблема, и я назвал файл ресурсов (.png-изображение) заглавными буквами. (ImageButton001.png вместо imagebutton001.png).
После изменения имени файла возвратилась моя R.java.
Rgards, Juan
Если недостаточно свободной памяти, инструмент сборки будет терпеть неудачу (Eclipse не покажет никаких ошибок или ничего не сообщит в журнале ошибок). Закройте другие открытые приложения (например, эмулятор и браузер), затем добавьте пробел в файл манифеста приложения и сохраните его.
Как сказал понкин - у вас, вероятно, есть одна проблема, которая заставляет R не перегенерировать себя, из-за чего у вас теперь есть один миллион и одна проблема.
Не пытайтесь самостоятельно создавать класс R. Попробуйте подумать о последнем XML, с которым вы столкнулись, и проверить его на наличие ошибок.
У меня была та же проблема здесь
Как утверждают другие, избегайте создания собственного файла R.java
. Я столкнулся с той же проблемой, когда я впервые начал работать с Android, и потребовалось некоторое время, чтобы выяснить, что вызвано ошибками компиляции.
Что вы пытались сделать с файлом R.java
?
Убедитесь, что ошибок нет в вашем файле манифеста. Если вы удалите строку ресурса app_name в /res/values/strings.xml, она не знает, как правильно сгенерировать R.java. Я нашел эту проблему при выполнении учебника HelloSpinner.
Что-то, что может быть полезно знать, заключается в том, что если XML файл содержит?, то R.java
не восстанавливается, и ошибка не отображается в файле XML (иногда она появляется через некоторое время)
У меня есть строка, похожая на:
< string name="questionmark"\>?< /string> <br>
попробуйте изменить? на что-то еще и посмотреть, что происходит с файлом R.java
- работал у меня
Я обнаружил, что нежелательный ресурс вызывает проблему. Как только я удалил ресурс R.java, был сгенерирован.
У меня была аналогичная проблема, я переименовал WAV файл в папку Raw с большой буквы. Когда я перешел ко всему нижнему регистру, очистил проект, и он восстановил R.java
штраф.
У меня была эта проблема, чтобы перестроить R.java
Я вырезал код в xml файле, над которым я только что работал (или попробовал другие, если это не работает), удалив файл, а затем создав другой то же имя и вставка кода обратно в него. Надеюсь, это поможет.
У меня была та же проблема. Я просто пошел к:
Project -> Properties -> Android
и выбрал правильный эмулятор для моего проекта, у меня было 3 разных варианта в тот момент. Я понял, что в определенный момент я изменил эмулятор. Поэтому попробуйте изменить эмулятор, который может помочь!
Удачи.
Я прочитал это на другом сайте, и это помогло мне:
"Если это не исправить вашу проблему, попробуйте изменить свой AndroidManifest.xml
(просто добавьте пробел и сохраните). Я слышал, что это заставит R.java
перестроить."
Так просто добавьте пробел в файл манифеста и затем перестройте!
У меня была такая же проблема с IntelliJ. Проблема состояла в том, что у меня было app_name, определенное дважды в strings.xml
По какой-то причине проверки IDEA не автоматически выбирали это.
Как побочная заметка, обычно эти файлы *.out.xml генерируются путем попытки создания вашего проекта, в то время как XML файл сфокусирован в редакторе
У меня была схожая проблема. Очистка проекта не решила проблему и не было ошибок в коде или в верхнем регистре или пробелах в именах файлов.
Решение появилось во всплывающем окне, которое появилось при выборе PROJECT → CLEAN, а затем снимите флажок "Начать сборку сразу". Очистите проект. Закройте и заново запустите Eclipse, а затем создайте проект (PROJECT → BUILD).
Остается вопрос, почему простая чистка и сборка без закрытия Eclipse не сработала.