膨胀类androidx.appcompat.widget.ActionBarOverlayLayout时出错

问题描述

我最近看了一个我希望更新的旧项目,但是我一直在抓这个问题。

主要更新包括库更新,gradle更新,迁移到AndroidX。

每次打开应用程序时,无论进行哪种活动,我都似乎遇到了此问题。我认为这将与库相关或与样式相关,但我看不到我所缺少的内容。我希望其他人以前已经看到过这个问题,可以为我节省一些时间吗?

完整堆栈跟踪

UncaughtException: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.com.company.app/com.company.app.login.LoginActivity}: android.view.InflateException: Binary XML file line #17: Binary XML file line #17: Error inflating class androidx.appcompat.widget.ActionBarOverlayLayout
    at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2925)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3060)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:110)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1800)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6649)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)
 Caused by: android.view.InflateException: Binary XML file line #17: Binary XML file line #17: Error inflating class androidx.appcompat.widget.ActionBarOverlayLayout
 Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class androidx.appcompat.widget.ActionBarOverlayLayout
 Caused by: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.newInstance0(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
    at android.view.LayoutInflater.createView(LayoutInflater.java:647)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
    at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:896)
    at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:806)
    at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:693)
    at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:170)
    at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:158)
    at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:312)
    at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:115)
    at android.app.Activity.performCreate(Activity.java:7130)
    at android.app.Activity.performCreate(Activity.java:7121)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1262)
    at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2905)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3060)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:110)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1800)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6649)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)
 Caused by: java.lang.ExceptionInInitializerError
    at androidx.appcompat.widget.ActionBarOverlayLayout.<init>(ActionBarOverlayLayout.java:101)
    at java.lang.reflect.Constructor.newInstance0(Native Method) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:343) 
    at android.view.LayoutInflater.createView(LayoutInflater.java:647) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
    at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:896) 
    at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:806) 
    at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:693) 
    at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:170) 
    at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:158) 
    at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:312) 
    at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:115) 
    at android.app.Activity.performCreate(Activity.java:7130) 
    at android.app.Activity.performCreate(Activity.java:7121) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1262) 
    at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2905) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3060) 
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:110) 
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1800) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loop(Looper.java:164) 
    at android.app.ActivityThread.main(ActivityThread.java:6649) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826) 
 Caused by: java.lang.NullPointerException: throw with null exception

Build.gradle

dependencies {
implementation "com.google.firebase:firebase-crash:16.2.1"
implementation filetree(include: ['*.jar'],dir: 'libs')

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.0"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9'

implementation "com.google.android.gms:play-services-basement:17.4.0"
implementation "com.google.android.gms:play-services-vision:20.1.2"
implementation 'com.google.android.material:material:1.2.1'

implementation 'androidx.annotation:annotation:1.1.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.browser:browser:1.2.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.fragment:fragment:1.2.5'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0"
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'

implementation "com.google.firebase:firebase-core:17.5.0"
implementation "com.google.firebase:firebase-messaging:20.2.4"
implementation "com.google.firebase:firebase-ads:19.3.0"
implementation "com.google.firebase:firebase-perf:19.0.8"
implementation 'com.google.firebase:firebase-analytics:17.5.0'
implementation 'com.google.firebase:firebase-crashlytics:17.2.1'
implementation 'com.takisoft.fix:preference-v7:27.0.2.0'
implementation 'com.parse:parse-android:1.17.3'
implementation 'com.parse:parsefacebookutils-v4-android:1.10.7@aar'
implementation 'com.facebook.android:facebook-android-sdk:7.1.0'
implementation 'com.parse:parsetwitterutils-android:1.10.6'
implementation 'com.squareup.okhttp3:okhttp:4.8.1'
implementation 'io.reactivex.rxjava2:rxjava:2.2.19'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'

implementation 'info.androidhive:barcode-reader:1.1.5'
implementation 'joda-time:joda-time:2.10.6'
implementation 'org.apache.commons:commons-lang3:3.11'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
implementation 'com.facebook.stetho:stetho:1.5.1'
implementation 'com.facebook.stetho:stetho-okhttp:1.5.1'
implementation 'com.andkulikov:transitionseverywhere:2.1.0'
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation 'cn.pedant.sweetalert:library:1.3'
implementation 'com.stepstone.stepper:material-stepper:4.3.1'
implementation('com.shagi:material-datepicker:1.2') {
    exclude group: 'com.android.support'
}
implementation 'com.github.coyarzun89:fabtransitionactivity:0.2.0'
implementation 'org.adw.library:discrete-seekbar:1.0.1'

testImplementation 'junit:junit:4.13'
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0',{
    exclude group: 'com.android.support',module: 'support-annotations'
})
}

LoginActivity.kt

class LoginActivity : AppCompatActivity(R.layout.content_login) {
}

content_login.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.fragment.app.FragmentContainerView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />

Styles.xml

<resources>

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>

更新1

使用Activity代替AppCompatActivity似乎可以解决问题,但不确定为什么。

解决方法

我认为您应该删除此

use Illuminate\Support\Str;

并添加这样的活动

if(Str::contains($string,$blacklistArray)){return true;}

// returns true

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...