Не удалось создать экземпляр пользовательского представления android.support.v7.app.AppCompatViewInflater - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь внедрить Google Sign In в своем приложении.

Работает нормально, но при попытке войти в систему, у меня появляется следующая ошибка:

2018-10-04 14: 55: 14.784 16313-16313 /?I / AppCompatDelegate: не удалось создать экземпляр пользовательского представления android.support.v7.app.AppCompatViewInflater.Откат к дефолту.java.lang.ClassNotFoundException: android.support.v7.app.AppCompatViewInflater в java.lang.Class.classForName (собственный метод) в java.lang.Class.forName (Class.java:453) в java.lang.Class.forName(Class.java:378) на android.support.v7.app.AppCompatDelegateImpl.a (: com.google.android.gms @ 13280019 @ 13.2.80 (040400-211705629): 1) на android.support.v7.app.AppCompatDelegateImpl.onCreateView (: com.google.android.gms @ 13280019 @ 13.2.80 (040400-211705629): 1) в android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:772) в android.view.FagIn(LayoutInflater.java:730) в android.view.LayoutInflater.inflate (LayoutInflater.java:492) в android.view.LayoutInflater.inflate (LayoutInflater.java:423) в android.view.LayoutInflater.inflate (LayoutInflater.j:374) в com.android.internal.policy.DecorView.onResourcesLoaded (DecorView.java:1933) в com.android.internal.policy.PhoneWindow.generateLayout (PhoneWindow.java:2586) в com.android.internal.policy.PhoneWindow.installДекор (PhoneWindow.java:2659) в com.android.internal.policy.PhoneWindow.getDecorView (PhoneWindow.java:2067) в android.app.ActivityTransitionState.setEnterActivityOptions (ActivityTransitionState.java:160) в android.app.Activity.performCate(Activity.java:7016) в android.app.Activity.performCreate (Activity.java:7000) в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1214) в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2731) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2856) на android.app.ActivityThread.-wrap11 (неизвестный источник: 0) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1589) наandroid.os.Handler.dispatchMessage (Handler.java:106) в android.os.Looper.loop (Looper.java:164) в android.app.ActivityThread.main (ActivityThread.java:6494) в java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:438) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:807) Причина: java.lang.ClassNotFoundException: не найден класс «android.support.v7.app.AppCompatViewInflater» на пути: DexPathList [[zip-файл »/ system/framework/com.android.media.remotedisplay.jar ", почтовый файл" /system/framework/com.android.location.provider.jar ", почтовый файл" /data/app/com.google.android.gms-mJ0x6f9TEv9BnQUq-xGhTw == / base.apk "], nativeLibraryDirectories = [/ 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]] в dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:125) в java.log.loadClass (ClassLoader.java:379) в java.lang.ClassLoader.loadClass (ClassLoader.java:312) в java.lang.Class.classForName (собственный метод) в java.lang.Class.forName (Class.java:453)на java.lang.Class.forName (Class.java:378) на android.support.v7.app.AppCompatDelegateImpl.a (: com.google.android.gms @ 13280019 @ 13.2,80 (040400-211705629): 1) на android.support.v7.app.AppCompatDelegateImpl.onCreateView (: com.google.android.gms @ 13280019 @ 13.2.80 (040400-211705629): 1)на android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:772) на android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:730) на android.view.LayoutInflater.inflate (LayoutInflater.java:2).LayoutInflater.inflate (LayoutInflater.java:423) в android.view.LayoutInflater.inflate (LayoutInflater.java:374) в com.android.internal.policy.DecorView.onResourcesLoaded (DecorView.java:1933) в com.android.internal.policy.PhoneWindow.generateLayout (PhoneWindow.java:2586) в com.android.internal.policy.PhoneWindow.installDecor (PhoneWindow.java:2659) в com.android.internal.policy.PhoneWindow.getDecorView (PhoneWindow.java:2067) в android.app.ActivityTransitionState.setEnterActivityOptions (ActivityTransitionState.java:160) в android.app.Activity.performCreate (Activity.java:7016) в android.app.Activity.performCreate (Activity.java:7000) в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1214) в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2731) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2856) в android.app.ActivityThread.-wrap11 (неизвестный источник: 0) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java: 1589) на android.os.Handler.dispatchMessage (Handler.java:106) на android.os.Looper.loop (Looper.java:164) на android.app.ActivityThread.main (ActivityThread.java:6494)на java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:438) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java: 807)

Я использую новые библиотеки AndroidX и реализовал следующую зависимость:

implementation 'androidx.appcompat:appcompat:1.0.0'

Я также изменил gradle.properties чтобы Android знал, что я использую новые библиотеки AndroidX:

# Default properties
org.gradle.jvmargs=-Xmx1536m

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

Изменяя gradle.properties все остальные зависимости должны использовать новые библиотеки AndroidX, верно?Почему он пытается использовать старую библиотеку V7?И как мне решить эту проблему?


РЕДАКТИРОВАТЬ

Вот мой gradle:

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'
}

1 Ответ

0 голосов
/ 29 марта 2019

Я не думаю, что приведенная выше трассировка стека от logcat - это реальная проблема, с которой вы сталкиваетесь, поскольку проблема связана с типом info (I), а не с ошибкой.Я думаю, что есть другая ошибка, которую вы могли бы пропустить.Попробуйте использовать adb -d logcat -s <ClassNameWhichCanThrowError>, чтобы увидеть фактическую ошибку, или углубиться в logcat для любой ошибки типа E / ClassNameWhichCanThrowError

...