Почему я получаю Некоторое хрусткое хэширование файла после того, как я переименовал файл с возможностью рисования в .9.png?
Я тестирую 9-патч-образ.
Прежде чем все будет хорошо, и я переименую drawable
файл ic_button_beat_box_default.png
в ic_button_beat_box_default.9.png
, тогда я получаю сообщение об ошибке:
Не удалось выполнить хэширование файла, подробности см. в журналах
. Затем я переименую назад, он работает нормально. Итак, как это происходит?
Полная ошибка:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Some file crunching failed, see logs for details
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mergeDebugResources'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
...
Caused by: java.lang.RuntimeException: Some file crunching failed, see logs for details
at com.android.builder.png.QueuedCruncher.waitForAll(QueuedCruncher.java:260)
at com.android.builder.png.QueuedCruncher.end(QueuedCruncher.java:280)
at com.android.ide.common.res2.MergedResourceWriter.end(MergedResourceWriter.java:132)
at com.android.ide.common.res2.DataMerger.mergeData(DataMerger.java:291)
at com.android.ide.common.res2.ResourceMerger.mergeData(ResourceMerger.java:48)
at com.android.build.gradle.tasks.MergeResources.doIncrementalTaskAction(MergeResources.java:250)
at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:124)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:231)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 57 more
Ответы
Ответ 1
В Windows у меня была ошибка "BUILD FAILED Failed to crunch file [path]" и она была решена, закрыв проект Android Studio, скопировав всю папку проекта в папку с более коротким пути к каталогу, например мою папку C: а затем открытие проекта в новом месте. Надеюсь, что это поможет.
Ответ 2
У меня была такая же проблема, изменив только имя файла, когда я сохранил изображение в решении 9-patch-tool.
Ответ 3
Повторно переименуйте файл
ic_button_beat_box_default.9.png
до ic_button_beat_box_default9.png
, потому что студия android принимает ic_button_beat_box_default.9
вместо ic_button_beat_box_default.9.png
или другое решение добавляет строку ниже к вашему build.gradle(Module: app)
android{
aaptOptions {cruncherEnabled = false}
}
Ответ 4
У меня была такая же проблема. Я смог решить это, просто уменьшив одну папку из цепочки. Это связано с длинным пути к файлу. Поэтому попробуйте использовать минимальную иерархию для вашего местоположения проекта.
Ответ 5
У меня есть красные другие подобные вопросы и ответы на них на SO, касающиеся того, что ошибка "хруст файла не удалась, см. журнал для деталей".
Ничего не помогло. Итак, я вернул все "SO" изменения, которые я сделал с помощью gradle и других файлов
и удалил ".9" в этом файле png.9, и он начал работать.
Затем я снова воссоздал все *.9.png файлы.
Следовательно, в моем случае причиной было неправильное редактирование 9.png во внешних редакторах png.
Ответ 6
попробуйте это, вставьте этот код в раздел android в приложении gradle:
aaptOptions {
cruncherEnabled = false
}
Ответ 7
Для меня это решило установить
aaptOptions {
cruncherEnabled = false
}
Затем для запуска приложения (иконки отсутствовали)
затем удалите эту опцию и запустите приложение еще раз.
Надеюсь, это поможет кому-то.
Ответ 8
Попробуйте установить это в defaultConfig:
aaptOptions.setProperty("cruncherEnabled", false)
Ответ 9
Это сработало для меня:
Сборка → Чистый проект.
а затем
Сборка → Реконструкция проекта.