Ответ 1
Это произошло вчера, когда был выпущен SDK/ADT 14:
Начиная с ADT 14, константы ресурсов в библиотечных проектах больше не окончательный. Это более подробно объясняется в http://tools.android.com/tips/non-constant-fields
В нем есть quickfix, доступный из ADT 14: http://tools.android.com/recent/switchstatementconversion
Процитировать по логике:
При объединении нескольких проектов библиотеки фактические значения поля (которые должны быть уникальными) могут столкнуться. До ADT 14 все поля были окончательными, поэтому в результате все библиотеки должны были иметь все свои ресурсов и связанного Java-кода, перекомпилированного вместе с основным когда они были использованы. Это было плохо для производительности, поскольку он делал сборку очень медленно. Это также препятствовало распространению библиотеки проекты, которые не включают исходный код, ограничивающие область использования проектов библиотеки.
Причина, по которой поля больше не являются окончательными, заключается в том, что это означает, что банки библиотеки могут быть скомпилированы один раз и повторно использованы в других проектах. Помимо возможности распространения бинарной версии библиотечных проектов (приходящих на r15), это делает гораздо более быстрые сборки.