Ошибка: некоторые хрусткие файлы не удалось, см. Журналы для подробностей в студии android [duplicate]

- (NSManagedObjectContext *)managedObjectContext
{
    if (managedObjectContext != nil) return managedObjectContext;

    NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
    if (coordinator != nil) {

        managedObjectContext = [[NSManagedObjectContext alloc] init];
        [managedObjectContext setPersistentStoreCoordinator:coordinator];
    }
    return managedObjectContext;
}
  • Вы не предоставили ленивую реализацию загрузки persistentStoreCoordinator
  • , поэтому coordinator всегда будет nil
  • , поэтому вы всегда будете возвращаем nil из этого метода
  • , что означает, что вы всегда получите ошибку выше.

Чтобы объяснить ошибку:

+ entityForName: nil не является законным параметром NSManagedObjectContext, который ищет имя сущности 'Account'

blockquote>

Это не сразу видно из его чтения, но это означает, что nil не является законным для передать для контекста управляемого объекта. В первом чтении похоже, что вы делаете entityForName:nil, но это не так.

Чтобы устранить проблему, вам нужно будет предоставить действительный постоянный координатор хранилища. У меня есть небольшая статья здесь , в которой объясняется, как мало кода вам нужно настроить базовый стек данных, это может вам помочь.

12
задан Jayesh 8 April 2016 в 09:21
поделиться

11 ответов

Понизьте версию градиента в файле build.gradle до 1.3.0

 dependencies {
    classpath 'com.android.tools.build:gradle:1.3.0'
 }
-4
ответ дан Ajay 20 August 2018 в 13:14
поделиться
  • 1
    Он был уже установлен на 1.3.0 перед обновлением, и он отлично работает в версии 1.3.0, но я хочу перейти в gradle 2.0.0 – Jayesh 8 April 2016 в 11:17
  • 2
    Вы не можете просто понизить свою версию градиента, потому что это может привести к большому количеству рефакторинга кода. – berrytchaks 29 June 2017 в 16:23
aaptOptions {
        cruncherEnabled = false
}

Добавьте вышеприведенную строку в ваш модуль приложения build.gradle

Очистите кэш сборки. Как и чистая задача плагина Android, которая очищает сборку / каталоги вашего проекта, вы можете запустить задачу cleanBuildCache очистите кеш сборки проекта. Если в проекте указывается каталог, не относящийся к умолчанию для его кеша сборки, запуск задачи из этого проекта очищает только этот кеш (а не общий кэш в местоположении по умолчанию). Чтобы выполнить задачу, выберите «Вид»> «Инструменты Windows»> «Терминал» в строке меню и используйте одну из следующих команд:

В Windows:

gradlew cleanBuildCache

На Mac или Linux:

./gradlew cleanBuildCache
3
ответ дан Askarc Ali 20 August 2018 в 13:14
поделиться

Пожалуйста, добавьте ниже код внутри android {} в build.gradle (Module: app)

aaptOptions {  
                cruncherEnabled = false  
            } 

PFA screenshot App Gradle Build

1
ответ дан Ayan Pan 20 August 2018 в 13:14
поделиться

У меня была та же проблема.

в моем случае это происходит после добавления в проект файла с 9 исправлениями.

Проблема: один из исправлений отсутствует.

Исправление: дважды щелкните файл с 9 патчами. убедитесь, что вы установили патчи со всех сторон (вверх, вниз, вправо, влево).

в моем случае это было единственным решением после того, как я пробовал много вещей

2
ответ дан ggcarmi 20 August 2018 в 13:14
поделиться

Вы можете попробовать добавить это в свой файл build.gradle приложения

 android {
    aaptOptions {  
                cruncherEnabled = false  
            } 
        }
37
ответ дан H.S.H 20 August 2018 в 13:14
поделиться
  • 1
    Это помогло выявить неправильные ссылки и файлы, чтобы пойти и исправить. Обязательно очистите кеш и перестройте. – DoctorD 8 May 2017 в 20:14
  • 2
    этот ответ - работа для меня ..... – Java coder 12 May 2017 в 16:44
  • 3
    не работал для меня из-за поврежденных файлов png, мне пришлось переконвертировать их в tinypng.com – Junior M 2 June 2017 в 15:39
  • 4
    большое спасибо за сохранение ночи – uniqueNt 23 July 2017 в 18:43
  • 5
    да исправлено. Но не знаю об этом .. можете ли вы объяснить? – Ranjith Kumar 11 September 2017 в 13:00

в моем случае это был png с размером 0 в одной из папок.

3
ответ дан Ignacio Tomas Crespo 20 August 2018 в 13:14
поделиться

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

В основном то, что происходит, - это то, что Android пытается сжать и отформатировать активы и ресурсы, но если один из них поврежден, то он терпит неудачу.

Попробуйте удалить все недавно добавленные активы или ресурсы.

6
ответ дан Jeff 20 August 2018 в 13:14
поделиться

Эта проблема вызвана, как правило, ошибками внутри файлов ресурсов,

Некоторое сбой в работе файла, см. журналы для деталей

в большинстве случаев, когда мы постоянно просматривайте это сообщение, но чтобы иметь лучшую диагностику, удалите папки /build и его содержимое в вашем проекте, тогда реальные проблемы покажут:

0
ответ дан Jorgesys 20 August 2018 в 13:14
поделиться

Я столкнулся с этой проблемой в прошлом и просто вернул версию. Сегодня, когда я обновился до AS 2.0, у меня возникли проблемы с изображениями. Мне пришлось выслеживать оскорбительные образы (в моем случае было 2), и мой дизайнер реэкспортировал их.

Вот как я поставил диагноз (я нахожусь в mac FYI):

./gradlew :app:mergeIntegrationDebugResources --debug > buildLog.txt

После этого я открыл файл buildLog.txt и искал «Ошибка» (без кавычек в реальном поиске). Я видел, у какого файла возникли проблемы, а затем удалил его из соответствующей папки, а затем повторно выполнил команду выше, пока не получил никаких ошибок.

Затем я отправил файлы, у которых были проблемы с моим дизайнером, и их реэкспортировали.

Надеюсь, что это поможет!

10
ответ дан oddmeter 20 August 2018 в 13:14
поделиться

не изменяют расширение файла при вставке в папку с возможностью переноса ... Из-за этого изменения может возникнуть некоторая ошибка (например: logo.PNG to logo.png) ..., чтобы избежать такой проблемы, вы должны отредактировать расширение до приклеивание к чертежам.

1
ответ дан Sanjoy Kanrar 20 August 2018 в 13:14
поделиться

Я использую этот код. Он отлично работает для меня.

android {
aaptOptions {  
            cruncherEnabled = false  
            } 
   }
1
ответ дан Shohel Rana 20 August 2018 в 13:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: