我将我的应用程序更新为 androidx,当我尝试打开我的应用程序时出现此错误

时间:2021-05-27 12:48:59

标签: android android-studio android-layout androidx

我构建了应用程序并将其更新到 androidx,它也成功安装在移动设备中,但单击按钮后应用程序自动停止。但它没有显示任何错误

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fast.android.phone.booster/fast.cleaner.battery.saver.MainActivity}: android.view.InflateException: Binary XML file line #15: Binary XML file line #15: Error inflating class android.support.design.widget.AppBarLayout
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2747)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2808)
    at android.app.ActivityThread.-wrap12(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1541)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:165)
    at android.app.ActivityThread.main(ActivityThread.java:6375)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
Caused by: android.view.InflateException: Binary XML file line #15: Binary XML file line #15: Error inflating class android.support.design.widget.AppBarLayout
Caused by: android.view.InflateException: Binary XML file line #15: Error inflating class android.support.design.widget.AppBarLayout
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.design.widget.AppBarLayout" on path: DexPathList[[zip file "/data/app/com.fast.android.phone.booster-2/base.apk"],nativeLibraryDirectories=[/data/app/com.fast.android.phone.booster-2/lib/arm64, /system/lib64, /vendor/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:74)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at android.view.LayoutInflater.createView(LayoutInflater.java:613)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:812)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:752)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:883)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:846)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:522)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:430)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:414)
    at android.app.Activity.setContentView(Activity.java:2494)
    at androidx.activity.ComponentActivity.setContentView(ComponentActivity.java:380)
    at fast.cleaner.battery.saver.MainActivity.onCreate(MainActivity.java:25)
    at android.app.Activity.performCreate(Activity.java:6845)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2700)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2808)
    at android.app.ActivityThread.-wrap12(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1541)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:165)
    at android.app.ActivityThread.main(ActivityThread.java:6375)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)

2 个答案:

答案 0 :(得分:0)

您尚未将项目完全迁移到 androidx。 示例:如果您在非 androidx 项目中将 XML 中的 textview 作为标签开启器,在 androidx 中, 的工作方式如下。

对于您的具体问题,您还需要将标签开口更改为 androidx 或 material。

解决方案:是 而不是普通的非 androidx 标签。

答案 1 :(得分:0)

您必须在 androidx 导入后检查您的活动和 java 导入中的所有组件,并重命名每个错误代码。 比如:import android.support.v7.app.AppCompatActivity;import androidx.appcompat.app.AppCompatActivity;。 这只是一个例子。如果您认为这个答案有帮助,您可以检查那个勾号按钮!祝你好运!