2016-01-10 5 views
0

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

После этого все ссылки на мои файлы макета больше не работали (т. Е. R.layout.) R был красным и наводил указатель на «Невозможно разрешить символ R».

Поиск вы найдете десятки сообщений, которые предлагают множество исправлений, например: «Чистый проект»; Реконструкция проекта; Синхронизация проекта с файлами Gradle; Invalidate Cashes/Restart; Проверьте xml на наличие ошибок, перезапустите Studio и т. Д. Я пробовал их все.

НЕТ ЧЕРЕЗ РАБОТУ В МОЙ СИТУАЦИИ.

Мой код работает и без ошибок, потому что я могу создать новый проект Android Studio и добавить свои классы и ресурсы. Новый проект Android Studio будет запускать ИДЕННЫЙ КОД под другим именем пакета.

Я столкнулся с этой проблемой еще некоторое время назад, и я смутно помню, как удалял что-то из папки проекта (возможно, это была папка или файл). Я не помню, что я удалил, но это устранило проблему.

Спасибо за любой совет.

Наконец-то я получил Android Studio для сборки без ошибок, но, честно говоря, я не знаю, как это произошло. Было очень озадачивающе, что у меня мог быть проект, который работал, и несколько копий, которые этого не сделали (я, должно быть, заново создал свой проект 10 раз с нуля) каждый раз, когда я копирую проект в каталог архива и начинаю все заново. Один из моих требований к построению - это то, что мне нужно было скомпилировать на Jelly Bean, и я думаю, что Android Studio устанавливает какие-то значения по умолчанию, когда вы открываете новый проект с помощью Blank Activity. Во всяком случае, каждый раз, когда ошибка произошла R. предупреждение сборки будет отображать это:

<style name="Base.Widget.AppCompat.Spinner.Underlined" parent="android:Widget.Material.Spinner.Underlined 

Но мой код не содержит вертушку, так что я действительно не могу понять, где это происходит из. На самом деле я попытался заменить файлы в одном из моих неоперабельных сохраненных проектов с файлами из моей рабочей копии (манифесты, код, gradle.build и т. Д.), Но однажды не работает, кажется, что проект Studio останется таким же.

Жаль, что я не смог воспроизвести проблему, но не могу.

WTF! Подумав, я решил эту проблему, она снова вернулась. Из моего рабочего проекта я сделал 2 вещи. Добавлена ​​очень простая активность и добавлена ​​ссылка на манифест. Пытался запустить проект и снова получить ТОЧЬЮ ошибку, ссылаясь на счетчик. Сообщение о создании Gradle:

C:\CargoBay\Android\LandApp\app\build\intermediates\res\merged\debug\values-ldltr-v21\values-ldltr-v21.xml Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Spinner.Underlined'.

Я удалил новый код из своего проекта, и он все равно не будет создан.

Я не знаю, что сейчас думать.

+0

Также руководство удаление всех 'построить' папки dosen't помочь? –

+0

вы можете попробовать удалить «bin» и «gen» и очистить сборку? –

+0

Когда я удаляю папку «build», Studio просто заменяет его, и R. все еще не может быть разрешен. .. Простите, я не знаю, что означают «bin» и «gen» (никаких папок с файлами, найденными с этими именами). – user2254532

ответ

0

В Android Studio выберите папку проекта, перейдите в раздел VCS/Local History/Show History. Show History отобразит список файлов, которые были перемещены или удалены, и предоставит вам возможность восстановить файл. Если вы выберете свой основной код активности, он отобразит историю изменений кода, и вы сможете восстановить предыдущий код, который работал.

enter image description here

+0

Вы предполагаете, что OP использует VCS? –

+0

Локальная история встроена в Android Studio и автоматически записывает изменения для всех проектов без действий пользователя. –

+0

Интересно. Думаю, мне никогда не нужна эта функция, чтобы использовать ее –

Смежные вопросы