Androdx:No instance field mActive of type Landroid/util/SparseArray

记录一下遇到的一个崩溃,关于 Androdx:No instance field mActive of type Landroid/util/SparseArray,解决方案

报错详情:偶然新建一个工程,集成一些常用框架后,启动后,突然报了一个很奇怪的错误,跳转Activity后,按返回键,就会崩溃,感觉就莫名其妙的崩溃。在没有任何其他逻辑的情况下,估计是依赖包冲突导致的。

2020-04-19 02:34:44.301 12744-12744/com.redrose.audioandvideo E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.redrose.audioandvideo, PID: 12744
    java.lang.NoSuchFieldError: No instance field mActive of type Landroid/util/SparseArray; in class Landroidx/fragment/app/FragmentManagerImpl; or its superclasses (declaration of 'androidx.fragment.app.FragmentManagerImpl' appears in /data/app/com.redrose.audioandvideo-8q-xQIvLUCHldL3G_7x-vg==/split_lib_dependencies_apk.apk)
        at androidx.fragment.app.FragmentationMagician.getActiveFragments(FragmentationMagician.java:153)
        at me.yokeyword.fragmentation.SupportHelper.getActiveFragment(SupportHelper.java:159)
        at me.yokeyword.fragmentation.SupportHelper.getActiveFragment(SupportHelper.java:131)
        at me.yokeyword.fragmentation.SupportActivityDelegate$1.run(SupportActivityDelegate.java:157)
        at me.yokeyword.fragmentation.queue.ActionQueue.handleAction(ActionQueue.java:53)
        at me.yokeyword.fragmentation.queue.ActionQueue.enqueueAction(ActionQueue.java:45)
        at me.yokeyword.fragmentation.queue.ActionQueue.access$000(ActionQueue.java:17)
        at me.yokeyword.fragmentation.queue.ActionQueue$1.run(ActionQueue.java:37)
        at android.os.Handler.handleCallback(Handler.java:888)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:213)
        at android.app.ActivityThread.main(ActivityThread.java:8147)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)

我的解决方法步骤:

           在Terminal中使用gradlew -q app:dependencies命令查看依赖包情况,以及查看依赖包的源码发现,有一个库版本还是以前的版本,implementation 'me.yokeyword:fragmentation:1.3.6'me.yokeyword.fragmentation.SupportActivity )引用了android.support.v7.app.AppCompatActivity,和androidx冲突,现在原因找到了,就好去找解决方法,在github上查最新库implementation 'me.yokeyword:fragmentationx:1.0.2 ,最新版本依赖的是androidx.appcompat.app.AppCompatActivity,替换后,回退正常了。

由于高版本的AS新建工程默认依赖使用的是androidx,不再是以前的support.v7,所以一些以前的旧版本的开源库没有升级到androidx。如果你和我一样遇到这样的问题,回退Activity,莫名其妙的崩溃,应该也是v7包和androidx冲突了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值