Ошибка 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'
Любую помощь любезно оценивают.
Ответы
Ответ 1
Я исправил ошибку, которая, вероятно, исходила из файла с отформатированным скопированным XML файлом (возможно, с некоторой путаницей в конце строки)
Перезапись исправленных ошибок, хотя Android Studio отображает другой файл в качестве источника проблемы, который фактически не имеет ничего общего с самой ошибкой
Ответ 2
В моем случае это был селектор xml. В первой строке у меня было два из них (благодаря копированию вставки среди моих файлов):
<?xml version="1.0" encoding="utf-8"?>
и Android Studio не давала никаких предупреждений или чего-то еще. Устранение проблемы устранило проблему, но впоследствии потребовалась полная чистая сборка.
Ответ 3
В моем случае это был malformed splash_screen.xml, который был частью "reverted commit", который фактически удалил этот файл, но каким-то образом он все еще мог быть в активном списке изменений.
Исправлен этот файл и решена проблема.
Ответ 4
В моем случае это был ресурс с возможностью рисования, который требовал более высокую версию API, так как это было мое minSdkVersion, установленное в build.gradle. Основная проблема заключалась в том, что файл не показывал никаких ошибок до тех пор, пока вы его не открыли, поэтому было сложно найти его вообще. Я потратил, по крайней мере, 4 часа на то, чтобы пробовать другие вещи, так как при создании проекта он показывал другие доступные файлы ресурсов, которые вообще не имели никаких проблем. После удаления извлекаемого кода, требующего более высокого API, приложение было создано нормально.
Ответ 5
Проверьте ваш каждый XML и, возможно, вы найдете следующую ситуацию.
-
При копировании кода или файлов из других проектов, возможно, вы забыли добавить какой-либо ресурс, например, рисование, строки.
-
Проверьте каждый нарисованный файл, может Android Studio будет выделен при открытии этого файла.
Иногда эти типы ошибок мы должны найти, потому что Android Studio застревает с ошибками.
Ответ 6
В моем случае
Я удаляю объявление пространства имен Duplicate, как xmlns: android = "http://schemas.android.com/apk/res/android"
и я использовал Analyze → инструмент проверки кода, чтобы показать ошибку в журнале, и я устраняю ошибку в других файлах XML в доступном для рисования ресурсе.
Ответ 7
У меня была та же проблема, и я решил ее, когда добавил свои значки в файл для рисования как 24p.
Скопируйте любой значок, который вы хотите, и вставьте его в нарисованный файл, и он создаст по умолчанию значки 24dp.
Ответ 8
Я столкнулся с той же проблемой при создании релизной версии моего приложения, проблема заключалась в том, что у меня были некоторые важные файлы res
моего проекта в каталоге debug
вместо того, чтобы они были в каталоге release
, поэтому я исправил проблему с помощью Переместив файлы, которые были в debug
внутри release
, вы можете проверить это, просмотрев дерево вашего проекта в project
вместо android