Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java.lang.ClassCastException:Android.support.v7.widget.ContentFrameLayout无法强制转换为Android.support.v7.widget.ContentFrameLayout_Android_Gradle_Android Multidex - Fatal编程技术网

Java.lang.ClassCastException:Android.support.v7.widget.ContentFrameLayout无法强制转换为Android.support.v7.widget.ContentFrameLayout

Java.lang.ClassCastException:Android.support.v7.widget.ContentFrameLayout无法强制转换为Android.support.v7.widget.ContentFrameLayout,android,gradle,android-multidex,Android,Gradle,Android Multidex,有时我安装Android应用程序时会遇到以下异常,但这并不总是可以重现的 java.lang.ClassCastException: 无法将android.support.v7.widget.ContentFrameLayout强制转换为 android.support.v7.widget.ContentFrameLayout 我在我的Android应用程序上使用multidex,我读到三星设备在multidex实现方面存在缺陷,但这种情况发生在运行5.1的LG G3和运行6.0的HTC A9上

有时我安装Android应用程序时会遇到以下异常,但这并不总是可以重现的

java.lang.ClassCastException: 无法将android.support.v7.widget.ContentFrameLayout强制转换为 android.support.v7.widget.ContentFrameLayout

我在我的Android应用程序上使用multidex,我读到三星设备在multidex实现方面存在缺陷,但这种情况发生在运行5.1的LG G3和运行6.0的HTC A9上

任何人都知道为什么这是随机发生的,我能做些什么来修复它

编辑:我不能分享太多的代码,因为这是我工作的公司的代码

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”

构建脚本{ 存储库{ mavenCentral() }

}

应用插件:“com.android.application” 应用插件:“com.neenbedankt.android apt”

存储库{ mavenCentral() 马文{ url“” } 马文{ url“libs localrepository” } }

安卓{ buildToolsVersion“23.0.2” 编译DK23版

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.m.c:CE:1.0') {
        changing=true
    }

    compile ('com.m.c:APL:1.0') {
        changing=true
    }

    compile ('c.m.c: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'

}
}


我们补充道,以前我们也遇到过类似的问题

    android {
        dexOptions {
          jumboMode = true
        }
    }

在build.gradle和扩展应用程序类to
MultiDexApplication
中,请尝试这是否对您有帮助。

我发现问题在于清单中设置了一个标志,用于持久化进程。我的应用程序是一个由制造商加载的系统应用程序,当更新发生时,会导致应用程序失效,android操作系统会重新启动旧程序,从而导致奇怪的行为。我的解决方案最终不得不更改类名和android清单组件,以使用这些新的类名,并让另一个持久化进程在更新后挂起。在应用程序关闭一次或手机重新启动后,这些进程将停止,并且不再启动。我还删除了持久进程的标志。

显示您的
build.Gradle
请显示您的代码。包括导入、gradle和日志。我添加了大部分应用程序gradle文件,但我不能分享太多,因为这是一个公司应用程序,不是我自己的。谢谢,我会尝试一下,但你知道为什么需要这个吗?关于这一点,我读过最好的信息,但我仍然不明白:我仍然不明白为什么这是必要的,但到目前为止,我还没有得到另一次崩溃。只是再次看到它,所以这并不能解决问题。奇怪的是,这是在通过系统级权限setApplicationEnabledSetting禁用并重新启用应用程序后发生的。这是同一个异常吗?这是同一个异常。
apply plugin: 'com.google.gms.google-services'
    android {
        dexOptions {
          jumboMode = true
        }
    }