Java.lang.ClassCastException: Android.support.v7.widget.ContentFrameLayout не может быть добавлен в файл Android.support.v7.widget.ContentFrameLayout

Бывают случаи, когда я устанавливаю приложение для Android, и я получаю следующее исключение, но это не всегда воспроизводимо.

Java.lang.ClassCastException: android.support.v7.widget.ContentFrameLayout не может быть добавлен в файл android.support.v7.widget.ContentFrameLayout

Я использую multidex в своем приложении для Android, и я прочитал этот вопрос о том, что устройства Samsung имеют ошибку с реализацией multidex, но это происходит на LG G3 с 5.1 и HTC A9 с 6.0.

У кого-нибудь есть идеи, почему это происходит случайно и что я могу сделать, чтобы исправить это?

EDIT: я не могу поделиться большей частью кода, потому что это для компании, в которой я работаю.

buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } 

}

Применить плагин: «com.android.application» применить плагин: «com.neenbedankt.android-apt»

Buildscript {репозитории {mavenCentral ()}

 dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } 

}

Применить плагин: «com.android.application» применить плагин: «com.neenbedankt.android-apt»

Репозитории {mavenCentral () maven {url ' https://repository-achartengine.forge.cloudbees.com/snapshot '} maven {url 'libs-localrepository'}}

Android {buildToolsVersion "23.0.2" compileSdkVersion 23

 dexOptions { javaMaxHeapSize "4g" } defaultConfig { minSdkVersion 18 targetSdkVersion 23 multiDexEnabled true } packagingOptions { exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' exclude 'META-INF/ASL2.0' exclude 'META-INF/INDEX.LIST' } lintOptions { ignore 'ProtectedPermissions' } signingConfigs { release { storeFile file("somepath...") storePassword System.getenv("some_password") keyAlias "release" keyPassword System.getenv("some_password") } } buildTypes { release { minifyEnabled false proguardFile getDefaultProguardFile('proguard-android.txt') proguardFile 'proguard-config.txt' } debug { minifyEnabled false proguardFile getDefaultProguardFile('proguard-android.txt') proguardFile 'proguard-config.txt' } } dependencies { compile 'com.android.support:multidex:1.0.0' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.0' compile 'com.android.support:preference-v14:23.1.0' compile ('com.mc:CE:1.0') { changing=true } compile ('com.mc:APL:1.0') { changing=true } compile ('cmc:C:1.0') { changing=true } debugCompile 'ch.acra:acra:4.5.0' compile files('libs-gradle/aM.jar') compile files('libs-gradle/android-logging-log4j-m-1.0.3.jar') compile files('libs-gradle/ce.jar') compile 'com.google.android.gms:play-services-analytics:8.4.0' apt 'com.squareup.dagger:dagger-compiler:1.2.2' } 

}

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

Я обнаружил, что проблема связана с флагом, который был установлен в манифесте для обеспечения постоянного процесса. Мое приложение – это системное приложение, загруженное производителем, и когда происходит обновление, которое убивает приложение, android os перезапускает старый процесс, что приводит к нечетному поведению. Моему решению пришлось изменить имена классов и компоненты манифеста Android, чтобы использовать эти новые имена классов и позволить другому постоянному процессу просто зависать после обновления. После того, как приложение будет убито один раз или телефон будет перезагружен, эти процессы умирают и никогда не запускаются снова. Я также удалил флаг для постоянного процесса.

Когда-то назад мы столкнулись с подобной проблемой, мы добавили

  android { dexOptions { jumboMode = true } } 

В build.gradle и расширенном классе Application для MultiDexApplication , попробуйте, поможет ли это вам.

Intereting Posts
Вызов AbsListView unregisterIRListener () OnTextChanged vs afterTextChanged в Android – нужны живые примеры Переход на общий элемент Android между двумя действиями не работает «Вам нужно добавить как минимум 2 скриншота без Android-ТВ» Volley – загрузка непосредственно в файл (нет в массиве байтов памяти) Как вы прикладываете эффект реверберации к данным AudioRecord / PCM и сохраняете их в файле? Сменные сетевые и GPS-провайдеры в соответствии с gps-статусом android Android: удаление / уничтожение объектов при повороте экрана В чем разница между View.findViewById () и Activity.findViewById ()? Есть ли способ показать пользовательское исключение в предупреждении под Android? Intent.ACTION_CALL запускает вызов skype вместо обычного звонка Java.lang.NoClassDefFoundError: android.support.v7.appcompat.R $ стиль Android-приложение разбилось с помощью texureview RelativeLayout "Не удалось разрешить ресурс …" Android Android: отключить флажки без графических изменений?