Це дуже давнє запитання, але воно все ще трапляється багато, і справді вичерпної відповіді тут немає.
У мене була ця проблема більше разів, ніж я хочу визнати. Це може бути викликано найрізноманітнішими проблемами, які, в основному, стосуються вашої структури проекту, що не відповідає очікуваному. Ось перелік усіх проблем, які у мене виникли:
Імпорт з Eclipse в Android Studio не завжди працює безперебійно, особливо це стосується старих версій Android Studio. Переконайтеся, що ви використовуєте правильне дерево каталогів. Це повинно виглядати так для помірно зрілого додатка:
AppName/ // AppName is your app's name, obviously
.gradle/ // This is a compiler created directory. You should normally leave it alone
.idea/ // Ditto
build/ // This too
gradle/ // And this
app/
build/
libs/
src/
androidTest/ // Tests based on the Android instrumentation runner should go here
main/
java/
fully/ // Typically com
qualified/ // the domain name. Longer package
// names may have deeper folder trees
AppName/ // All your java files go here
res/
drawable-*/ // One of these for each resolution you support
layout/ // All of your general layouts
menu/ // All of your menu layouts
values/ // All of your resource xml files
xml/ // PreferenceScreen layouts go here
AndroidManifest.xml
debug/
test/ // Pure jUnit tests should go here
.gitignore
app.iml
build.gradle // This is the gradle file you should be making most changes to
proguard-rules.pro
.gitignore
build.gradle // This gradle file should mostly be left alone
gradle.properties
gradlew
local.properties
AppName.iml
settings.gradle
Це може виглядати не так у вашому IDE. Існує спадне меню над деревом файлів, яке відображає ваші файли різними способами, і в моїй системі воно за замовчуванням відповідає тому, що називається Android, що розбиває ваші файли на різні типи. Простіше вирішити подібну проблему з тієї, що називається Project, а ще простіше безпосередньо з файлової системи вашої ОС, оскільки Android Studio згортає папки, які містять лише іншу папку, в один рядок.
Особливо, якщо ви коли-небудь змінюєте ім’я свого додатка, вам потрібно переконатися, що основне дерево / java / com / домен / AppName оновлено. Також переконайтесь, що тег пакета у вашому AndroidManifest.xml правильний.
Якщо в файлах Gradle або в AndroidManifest.xml є помилки, це не дозволить Android Studio належним чином створити ваші файли ресурсів. Файли Gradle можуть бути порушені, інколи оновивши Android Studio, особливо до версій до 1.0. Іноді це відбувається тому, що він перестає підтримувати старіші версії плагіна Gradle, тому вам потрібно оновити номери версій. Іноді може бути важко знайти, які існують поточні версії. На сьогодні, 7/17/15, мої програми прекрасно складаютьсяcom.android.tools.build:gradle:1.2.3
. Це в блоці залежностей у самому зовнішньому файлі gradle,
Якщо ваш AndroidManifest посилається на неіснуючий драйвовий або рядковий ресурс або активність, він порушиться і спричинить цю помилку. Іноді, якщо що-небудь посилається на неіснуючий ресурс, що виводиться з драйву або рядка, ви отримаєте цю помилку.
Якщо у ваших ресурсах є файл із пошкодженнями або недійсний файл XML, ви отримаєте цю помилку.
На мій досвід, іноді Android Studio просто ікає без будь-якої причини, і вам потрібно перезапустити його та / або ваш ПК. Не знаю чому, але іноді це працює.
Якщо у вас є два xml ресурси з однаковим іменем, у каталогах, які не перекривають один одного, у вас може виникнути ця проблема. Наприклад, ви можете мати те саме ім’я у dravable-mhdpi та dravable-xhdpi, оскільки вони перекривають один одного залежно від цільового пристрою, але якщо у вас є те саме ім’я в макеті та меню, це спричинить проблеми. Перейменуйте або видаліть один із файлів.
Якщо з певною проблемою виникають лише деякі ресурси, ці ресурси, швидше за все, знаходяться в неправильному каталозі.
В одному випадку мені довелося повністю перевстановити Android Studio. Я не знаю, що було не так, але це спрацювало.
В одному випадку я перенесла весь проект у інший каталог і повторно імпортувала його як новий проект. Я не знаю, що було не так, але це спрацювало.
Файли XML із зарезервованими словами для імен можуть спричинити цю проблему. Перейменуйте або видаліть їх.
Існує кілька способів, у який ваш файл Gradle може посилатися на версію інструментів збирання, яку ви не встановили. Виправте це, змінивши Gradle або завантаживши відповідні інструменти для збирання.
Нарешті, після того, як ви виправили що-небудь не так, вам потрібно очистити проект Gradle. Виконайте це, перейшовши до меню "Збірка" вгорі та вибравши Очистити проект.