当前位置: 首页 > 知识库问答 >
问题:

无法实例化自定义视图膨胀器android.support.v7.app.AppCompatViewInflater

贾烨
2023-03-14

我试图在我的应用程序上实现谷歌登录。

工作正常,但当我尝试登录时,我的logcat上出现以下错误:

2018-10-04 14:55:14.784 16313-16313/? I/AppCompatDelegate:无法实例化自定义视图充气器android。支持v7。应用程序。这是充气机。回到违约状态。JAVAlang.ClassNotFoundException:android。支持v7。应用程序。java的AppViewInflater。朗,同学们。java上的classForName(本机方法)。朗,同学们。java上的forName(Class.java:453)。朗,同学们。android上的forName(Class.java:378)。支持v7。应用程序。appcompatidelegateimpl。a(:com.google.android)。gms@13280019@13.2.80(040400-211705629):1)在android上。支持v7。应用程序。appcompatidelegateimpl。onCreateView(:com.google.android)。gms@13280019@13.2.80(040400-211705629):1)在android上。看法更平坦。在android上创建ViewFromTag(LayoutInflater.java:772)。看法更平坦。android上的createViewFromTag(LayoutInflater.java:730)。看法更平坦。在android上充气(LayoutInflater.java:492)。看法更平坦。在android上充气(LayoutInflater.java:423)。看法更平坦。在com上充气(LayoutInflater.java:374)。Android内部的政策德考维。onResourcesLoaded(DecorView.java:1933)在com上发布。Android内部的政策电话窗口。com上的generateLayout(PhoneWindow.java:2586)。Android内部的政策电话窗口。installDecor(PhoneWindow.java:2659)位于com.Android内部的政策电话窗口。android上的getDecorView(PhoneWindow.java:2067)。应用程序。活动转换状态。在android上设置EnterActivityOptions(ActivityTransitionState.java:160)。应用程序。活动android上的performCreate(Activity.java:7016)。应用程序。活动android上的performCreate(Activity.java:7000)。应用程序。仪器。android上的callActivityOnCreate(Instrumentation.java:1214)。应用程序。活动线程。在android上执行LaunchActivity(ActivityThread.java:2731)。应用程序。活动线程。android上的handleLaunchActivity(ActivityThread.java:2856)。应用程序。活动线程-android上的wrap11(未知来源:0)。应用程序。android上的ActivityThread$H.handleMessage(ActivityThread.java:1589)。操作系统。汉德勒。android上的dispatchMessage(Handler.java:106)。操作系统。活套。android上的loop(Looper.java:164)。应用程序。活动线程。java上的main(ActivityThread.java:6494)。朗,反思一下。方法在com上调用(本机方法)。Android内部的操作系统。RuntimeInit$MethodAndArgsCaller。在com上运行(RuntimeInit.java:438)。Android内部的操作系统。合子体。main(ZygoteInit.java:807)由以下原因引起:java。lang.ClassNotFoundException:在路径:DexPathList[[zip文件”/system/framework/com.android.media.remotedisplay.jar],zip文件“/system/framework/com.android.location.provider.jar”,zip文件“/data/app/com.google.android.gms-mJ0x6f9TEv9BnQUq-xGhTw==/base.apk”]上未找到类“android.support.v7.app.app.appcompatViewInflator,NativeLibraryDirectory=[/data/app/com.google.android.gms-mJ0x6f9TEv9BnQUq-xGhTw==/lib/arm64,/data/app/com.google.android.gms-mJ0x6f9TEv9BnQUq-xGhTw=/base.apk!/lib/arm64-v8a,/system/lib64,/vendor/lib64]]。系统BaseDexClassLoader。java上的findClass(BaseDexClassLoader.java:125)。lang.ClassLoader。java上的loadClass(ClassLoader.java:379)。lang.ClassLoader。java上的loadClass(ClassLoader.java:312)。朗,同学们。classForName(本机方法

我正在使用新的AndroidX库,并实现了以下依赖项:

implementation 'androidx.appcompat:appcompat:1.0.0'

我还改变了gradle.properties,让Android知道我正在使用新的Android库:

# Default properties
org.gradle.jvmargs=-Xmx1536m

# Android X properties
android.useAndroidX=true
android.enableJetifier=true

通过修改渐变。属性所有其他依赖项都应该使用新的AndroidX库,对吗?为什么要使用旧的V7库?我该如何解决这个问题?

编辑

这是我的格拉德尔:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-android'

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'

    defaultConfig {
        applicationId 'my.package.name'

        versionName '1.0.0'
        versionCode 1

        minSdkVersion 16
        targetSdkVersion 28

        multiDexEnabled true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'com.google.android.gms:play-services-auth:16.0.1'

    implementation 'androidx.appcompat:appcompat:1.0.0'
    implementation 'androidx.gridlayout:gridlayout:1.0.0'
    implementation 'androidx.coordinatorlayout:coordinatorlayout:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'androidx.multidex:multidex:2.0.0'

    implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.2.71'
}

共有2个答案

戈宏义
2023-03-14

我也有同样的问题,但我发现另一个日志是谷歌登录失败。所以,我回去检查问题出在哪里。最后,这只是因为我没有给firebase SHA-1密钥(调试)。也许你可以尝试同样的功能。

干宏邈
2023-03-14

我不认为logcat上面的堆栈跟踪是您面临的实际问题,因为问题是info(I)类型,而不是错误。我认为您可能还缺少其他一些错误。尝试使用adb-d logcat-s

 类似资料: