После недавнего обновления моей студии 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'
Любая помощь приветствуется.
Он определенно находится в основной папке с возможностью переноса, расположенной в src / main / res / drawable / splash_screen.xml. К сожалению, изменение местоположения не помогло.
Я исправил ошибку, которая, вероятно, исходила из неправильно отформатированного скопированного XML-файла (возможно, некоторая путаница с окончанием строки)
Их переписывание устранило ошибку, хотя Android Studio отображала другой файл в качестве источника проблемы, который на самом деле не имел ничего общего с самой ошибкой.
У меня была аналогичная ошибка, вызванная неправильным форматом xml. К сожалению, студия Android не показала предупреждение.
У меня много файлов xml ... как найти неправильный?
В моем случае это был искаженный splash_screen.xml, который был частью «отмененной фиксации», которая фактически удалила этот файл, но каким-то образом он все еще мог быть в активном списке изменений.
Исправлен этот файл и решена проблема.
В моем случае это был файл ресурсов с возможностью рисования, для которого требовалась более высокая версия API, поскольку это был мой minSdkVersion, установленный в build.gradle. Основная проблема заключалась в том, что файл не показывал никаких ошибок, пока вы его не открыли, поэтому его вообще было сложно найти. Я потратил как минимум 4 часа на то, чтобы пробовать другие вещи, поскольку в качестве ошибки при создании проекта он показывал другие доступные для рисования файлы ресурсов, у которых вообще не было никаких проблем. После удаления объекта, который требовал более высокого API, приложение построило нормально.
В моем случае это был селектор xml. В первой строке у меня было два таких (спасибо копипасту среди моих файлов):
<?xml version = "1.0" encoding = "utf-8"?>
и Android Studio не давала никаких предупреждений или что-то в этом роде. Его удаление устранило проблему, но впоследствии потребовалась полная чистая сборка.
Обратите внимание, что этого может не быть в файле, который, по-видимому, дает ошибку! Проверьте все файлы XML, которые вы недавно добавили или изменили в проекте.
Проверьте каждый свой XML, и, возможно, вы обнаружите следующую ситуацию.
Копируя код или файлы из других проектов, возможно, вы забыли добавить некоторые ресурсы, такие как drawable, strings.
Проверьте каждый файл, доступный для рисования, может Android Studio будет выделен, когда вы откроете этот файл.
Иногда этот тип ошибки приходится обнаруживать из-за того, что Android Studio застряла с ошибками.
В моем случае
Я удалил дубликат объявления пространства имен, например xmlns:android = "http://schemas.android.com/apk/res/android"
и я использовал инструмент Analyze -> inspect code, чтобы показать ошибку в журнале, затем я разрешил ошибку в других файлах xml в доступном для рисования ресурсе.
У меня была такая же проблема, и я решил ее, когда добавил свои значки в файл с возможностью рисования в 24dp.
Скопируйте любой значок, который хотите, и вставьте его в файл с возможностью рисования, и он создаст (по умолчанию) значки 24dp.
Я столкнулся с той же проблемой при создании релизной версии моего приложения, проблема заключалась в том, что у меня были некоторые важные файлы res моего проекта внутри каталога debug, а не внутри каталога release, поэтому я решил проблему, переместив файлы, которые были в debug внутри release, вы можете проверить его, просмотрев дерево проекта в разделе project вместо android.
при копировании и вставке кода я также вставил строку ниже
<?xml version = "1.0" encoding = "utf-8"?>
Поскольку мой файл xml уже содержит строку выше, и при добавлении этой строки она появляется дважды.
поэтому я удаляю одну из этих строк, и она устраняет мою ошибку
В моем случае я использовал неправильную ссылку на файл ресурсов Android
т.е. android:color/splash_bg вместо @color/splash_bg
где splash_bg представляет мой пользовательский ресурс цвета, объявленный в файле res / values / colors.xml.
В моем случае мне пришлось удалить строки android:src = "@drawable/background" и android:src = "@drawable/logo" из splash_screen.xml, хотя изначально ошибка указывала на AndroidManifest.xml.
И, как говорится в первом сообщении, убедитесь, что <?xml version = "1.0" encoding = "utf-8"?> верен во всех файлах xml.
В моем случае проблема заключается в конфликте кода, другой человек изменил тот же файл со мной. Код ресурса изменен. Когда я исправляю файл, проблема исчезает.
В моем случае я удалил папку "drawable"
в моем случае мне это нравится:
<?xml version = "1.0" encoding = "utf-8"?><?xml version = "1.0" encoding = "utf-8"?>
поэтому я просто удаляю один из них
В моем случае: был файл, который я не создавал внутри файла с возможностью рисования, и этот файл был пуст, я просто удалил его, и программа запустилась
Я столкнулся с той же проблемой и, наконец, решил ее,
Analyze>Inspect Code
В моем приложении отсутствовали конечные теги в одном из XML-файлов. Просто попробуйте Анализировать> Проверить код, он перенаправит вас к точной ошибке.
Я переформатировал код (так как я не нашел ошибки) в одном из xml (векторных) файлов, который не был упомянут в ошибке (я думаю), как упоминалось также @Lucas Romier, но имя файла было подчеркнуто красным, и он предложил затем очистить построить, и тогда это сработало. :)
Если вы попали сюда и еще не получили ответа, возможно, вам придется использовать mipmap. Используется для найти активы, связанные с dpi целевого устройства (например: mdpi, hdpi, xhdpi, ...).
Поэтому все, что вам нужно сделать, это обратиться к активу с mipmap вместо drawable.
android:resource = "@mipmap/splash_screen"
Откройте свой AndroidManifest.xml, и там, где вы когда-либо использовали drawable, замените его на mipmap. вот пример:
вы уверены, что он находится в папке с возможностью переноса или в какой-либо папке с возможностью рисования-xyz. Пожалуйста, поделитесь снимком экрана со структурой каталогов