Почему имена файлов в выделенной папке не могут содержать специальные символы или начинаться с прописной буквы?

Есть ли смысл в этих правилах?

Ответ 1

Каждый файл внутри папки преобразуется в имя поля java внутри класса R.java:

drawable\icon.png -> R.drawable.icon

Следовательно, причина не в использовании специальных символов внутри имен файлов, так как они не могут использоваться в именах Java.

Как и для прописных букв, я предполагаю, что избежать одной небольшой проблемы в среде Windows и Linux. Это связано с тем, что Linux считает, что Icon.png и Icon.png - разные файлы, а Windows считает, что Icon.png и Icon.png - это тот же файл. Поэтому любой, кто использует Linux, может создавать приложения, которые не компилируются в Windows.

Ответ 2

Вы можете увидеть некоторые дискуссии об этом, Здесь