Ошибка AAPT: ресурс доступен / не найден

После недавнего обновления моей студии Android я больше не могу создавать свой проект.

Каждый раз, когда я выполняю сборку, я получаю следующую ошибку:

error: resource drawable/splash_screen (aka com.whereisthemonkey.nowalism:drawable/splash_screen) not found.
Message{kind=ERROR, text=error: resource drawable/splash_screen (aka com.whereisthemonkey.nowalism:drawable/splash_screen) not found., sources=[C:\Users\Lucas\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\cf575568f869a44c685b16e47de83a28\res\values\values.xml:1632:5-84], original message=, tool name=Optional.of(AAPT)}

Эта ошибка сохраняется, даже если файл splash_screen.xml существует в папке с возможностью переноса.

Восстановление, очистка проекта и аннулирование кешей не помогли!

Добавление строки android.enableAapt2 = false не решает реальной проблемы, и поэтому я бы предпочел найти корень проблемы.

Ниже показан мой файл gradle.build:

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

apply plugin: 'kotlin-kapt'//https://github.com/bumptech/glide/issues/1939

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.3"
    defaultConfig {
        applicationId "com.whereisthemonkey.nowalism"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    // Keep the following configuration in order to target Java 8.
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            res.srcDirs += [
                    'src/main/res-backgrounds',
                    'src/main/res-jobs',
            ]
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'

    //Do not update due to dex error
    implementation 'org.apache.commons:commons-lang3:3.6'

    //Do not update due to dex error
    implementation 'com.google.firebase:firebase-auth:11.8.0'
    implementation 'com.google.firebase:firebase-messaging:11.8.0'
    implementation 'com.google.android.gms:play-services:11.8.0'

    implementation 'com.aurelhubert:ahbottomnavigation:2.1.0'
    implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
    implementation 'com.afollestad.material-dialogs:commons:0.9.6.0'

    implementation 'com.amitshekhar.android:android-networking:1.0.1'
    implementation 'org.apache.directory.studio:org.apache.commons.io:2.4'

    implementation 'com.github.ome450901:SimpleRatingBar:1.4.1'

    implementation 'com.sothree.slidinguppanel:library:3.4.0'

    implementation 'com.github.esafirm.android-image-picker:imagepicker:1.12.0'
    //Do not update due to dex error
    implementation 'com.theartofdev.edmodo:android-image-cropper:2.5.1'

    implementation 'com.github.bumptech.glide:glide:4.6.1'
    kapt 'com.github.bumptech.glide:compiler:4.6.1'//https://github.com/bumptech/glide/issues/1939

    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'

    implementation 'de.hdodenhof:circleimageview:2.2.0'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

    implementation 'com.firebaseui:firebase-ui-auth:3.2.1'
    implementation 'com.android.support:support-v4:27.1.1'
}


apply plugin: 'com.google.gms.google-services'

Любая помощь приветствуется.


person Lucas Romier    schedule 22.04.2018    source источник
comment
вы уверены, что он находится в папке с возможностью переноса или в какой-либо папке с возможностью рисования-xyz. Пожалуйста, поделитесь снимком экрана со структурой каталогов   -  person Killer    schedule 22.04.2018
comment
Он определенно находится в основной папке с возможностью переноса, расположенной в src / main / res / drawable / splash_screen.xml. К сожалению, изменение местоположения не помогло.   -  person Lucas Romier    schedule 22.04.2018


Ответы (18)


В моем случае это был селектор xml. В первой строке у меня было два таких (спасибо копипасту среди моих файлов):

<?xml version="1.0" encoding="utf-8"?>

и Android Studio не давала никаких предупреждений или что-то в этом роде. Его удаление устранило проблему, но впоследствии потребовалась полная чистая сборка.

person Mohsen    schedule 30.12.2018
comment
Обратите внимание, что этого может не быть в файле, который, по-видимому, дает ошибку! Проверьте все файлы XML, которые вы недавно добавили или изменили в проекте. - person Matt; 15.12.2019

Я исправил ошибку, которая, вероятно, исходила из неправильно отформатированного скопированного XML-файла (возможно, некоторая путаница с окончанием строки)

Их переписывание устранило ошибку, хотя Android Studio отображала другой файл в качестве источника проблемы, который на самом деле не имел ничего общего с самой ошибкой.

person Lucas Romier    schedule 22.04.2018
comment
У меня была аналогичная ошибка, вызванная неправильным форматом xml. К сожалению, студия Android не показала предупреждение. - person NewestStackOverflowUser; 06.05.2018
comment
У меня много файлов xml ... как найти неправильный? - person Zeynab Rostami; 26.02.2020

В моем случае я удалил дубликат объявления пространства имен, такой как xmlns:android="http://schemas.android.com/apk/res/android"
, и использовал инструмент Analyze - ›inspect кода, чтобы показать ошибку в журнале, затем я разрешил ошибку в других файлах xml в доступном для рисования ресурсе.

person Ayoub Anbara    schedule 22.09.2019

в моем случае мне нравится это: <?xml version="1.0" encoding="utf-8"?><?xml version="1.0" encoding="utf-8"?>

так что я просто удаляю один из них

person user9055011    schedule 17.11.2020

У меня была такая же проблема, и я решил ее, когда добавил свои значки в файл с возможностью рисования в 24dp.

Скопируйте любой значок, который хотите, и вставьте его в файл с возможностью рисования, и он создаст (по умолчанию) значки 24dp.

person Mustafa Alsalhi    schedule 04.10.2019

Проверьте каждый свой XML, и, возможно, вы обнаружите следующую ситуацию.

  • Копируя код или файлы из других проектов, возможно, вы забыли добавить некоторые ресурсы, такие как drawable, strings.

  • Отметьте все доступные для рисования файлы, может Android Studio выделится, когда вы откроете этот файл.

Иногда этот тип ошибки приходится обнаруживать из-за того, что Android Studio застряла с ошибками.

person Pratik Butani    schedule 11.01.2019

Я столкнулся с той же проблемой и, наконец, решил ее,

Анализировать ›Проверить код

В моем приложении отсутствовали конечные теги в одном из XML-файлов. Просто попробуйте Анализировать ›Проверить код, он перенаправит вас к точной ошибке.

person DeveloperZee    schedule 21.03.2021

В моем случае это был искаженный splash_screen.xml, который был частью «отмененной фиксации», которая фактически удалила этот файл, но каким-то образом он все еще мог быть в активном списке изменений.

Исправлен этот файл и решена проблема.

person AskQ    schedule 03.08.2018

В моем случае это был файл ресурсов с возможностью рисования, для которого требовалась более высокая версия API, поскольку это был мой minSdkVersion, установленный в build.gradle. Основная проблема заключалась в том, что файл не показывал никаких ошибок, пока вы его не открыли, поэтому его вообще было сложно найти. Я потратил как минимум 4 часа на то, чтобы пробовать другие вещи, поскольку в качестве ошибки при сборке проекта он показывал другие доступные для рисования файлы ресурсов, у которых вообще не было никаких проблем. После удаления объекта, который требовал более высокого API, приложение построило нормально.

person Marko Jankovic    schedule 21.09.2018

В моем случае проблема заключается в конфликте кода, другой человек изменил тот же файл со мной. Код ресурса изменен. Когда я исправлю файл, проблема исчезнет.

person SherryWu    schedule 21.09.2020

В моем случае: был файл, который я не создавал внутри файла с возможностью рисования, и этот файл был пуст, я просто удалил его, и программа запустилась

person mary maria    schedule 19.12.2020

Я столкнулся с той же проблемой при создании релизной версии моего приложения, проблема заключалась в том, что у меня были некоторые важные res файлы моего проекта внутри каталога debug, а не внутри каталога release, поэтому я решил проблему, переместив файлы, которые были в debug внутри release вы можете проверить это, просмотрев дерево своего проекта в разделе project вместо android

person Aleyam    schedule 18.10.2019

при копировании и вставке кода я также вставил строку ниже

<?xml version="1.0" encoding="utf-8"?>

Поскольку мой файл xml уже содержит строку выше, и при добавлении этой строки она появляется дважды.

поэтому я удаляю одну из этих строк, и она устраняет мою ошибку

person Welcome_back    schedule 26.04.2020

В моем случае я использовал неправильную ссылку на файл ресурсов Android, то есть android:color/splash_bg вместо @color/splash_bg

где splash_bg представляет мой пользовательский ресурс цвета, объявленный в файле res / values ​​/ colors.xml.

person Isaac Pitwa    schedule 05.05.2020

В моем случае мне пришлось удалить строки android:src="@drawable/background" и android:src="@drawable/logo" из splash_screen.xml, хотя изначально ошибка указывала на AndroidManifest.xml.

И, как говорится в первом сообщении, убедитесь, что <?xml version="1.0" encoding="utf-8"?> верен во всех файлах xml.

person Husky931    schedule 29.08.2020

В моем случае я удалил папку с возможностью рисования

person Alan Soares    schedule 06.10.2020

Я переформатировал код (так как я не нашел ошибки) в одном из xml (векторных) файлов, который не был упомянут в ошибке (я думаю), как упоминалось также @Lucas Romier, но имя файла было подчеркнуто красным, и он предложил затем очистить построить, и тогда это сработало. :)

person Mihajlo Nestorović    schedule 20.04.2021

Если вы попали сюда и еще не получили ответа, возможно, вам придется использовать mipmap. Он используется для поиска ресурсов, связанных с точками на дюйм целевого устройства (например, mdpi, hdpi, xhdpi, ...).

Поэтому все, что вам нужно сделать, это обратиться к активу из mipmap вместо drawable.

android:resource="@mipmap/splash_screen"

Откройте свой AndroidManifest.xml и там, где вы когда-либо использовали drawable, измените его на mipmap. вот пример:

введите описание изображения здесь

person Taba    schedule 01.05.2021