ReLinker icon indicating copy to clipboard operation
ReLinker copied to clipboard

android平台Google渠道aab包无法加载mmkv的so,报com.getkeepsafe.relinker.MissingLibraryException

Open jimmy5zhang opened this issue 2 years ago • 4 comments

1、报错堆栈 java.lang.ExceptionInInitializerError: at com.xxx.aspectj.SpAspect$Holder.access$000 (SpAspect.java) at com.xxx.aspectj.SpAspect.redirectEnable (SpAspect.java:90) at com.xxx.aspectj.SpAspect.onContextGetSp (SpAspect.java:39) at com.huawei.hms.aaid.utils.PushPreferences$CallStubCgetSharedPreferencesa47401526db6800508c1c59bfb8a057b.redirect (PushPreferences.java) at com.xxx.library.mtajx.runtime.BaseMethodJoint.invoke (BaseMethodJoint.java:13) at com.huawei.hms.aaid.utils.PushPreferences. (PushPreferences.java:4) at com.huawei.hms.opendevice.i. (i.java:1) at com.huawei.hms.opendevice.i.a (i.java:1) at com.huawei.hms.aaid.init.AutoInitHelper.isAutoInitEnabled (AutoInitHelper.java:1) at com.huawei.hms.aaid.init.AutoInitHelper.doAutoInit (AutoInitHelper.java:1) at com.huawei.hms.aaid.InitProvider.onCreate (InitProvider.java:1) at android.content.ContentProvider.attachInfo (ContentProvider.java:2476) at android.content.ContentProvider.attachInfo (ContentProvider.java:2446) at android.app.ActivityThread.installProvider (ActivityThread.java:7904) at android.app.ActivityThread.installContentProviders (ActivityThread.java:7394) at android.app.ActivityThread.handleBindApplication (ActivityThread.java:7148) at android.app.ActivityThread.access$1800 (ActivityThread.java:284) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2266) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loopOnce (Looper.java:233) at android.os.Looper.loop (Looper.java:334) at android.app.ActivityThread.main (ActivityThread.java:8333) at java.lang.reflect.Method.invoke (Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:582) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1065) at com.android.internal.crash.avbgmp7fqnit63ydh57mxmxuaf (crash.java:1) Caused by: com.getkeepsafe.relinker.MissingLibraryException: at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary (ApkLibraryInstaller.java:128) at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal (ReLinkerInstance.java:180) at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary (ReLinkerInstance.java:136) at com.getkeepsafe.relinker.ReLinker.loadLibrary (ReLinker.java:70) at com.getkeepsafe.relinker.ReLinker.loadLibrary (ReLinker.java:51) at com.xxx.core.sharedpreferences.SPUtil$rootDir$2$root$1.loadLibrary (SPUtil.java:58) at com.tencent.mmkv.MMKV.doInitialize (MMKV.java:116) at com.tencent.mmkv.MMKV.initialize (MMKV.java:108) at com.tencent.mmkv.MMKV.initialize (MMKV.java:97) at com.xxx.core.sharedpreferences.SPUtil$rootDir$2.invoke (SPUtil.java:57) at com.xxx.core.sharedpreferences.SPUtil$rootDir$2.invoke (SPUtil.java:29) at kotlin.SynchronizedLazyImpl.getValue (SynchronizedLazyImpl.java:74) at com.xxx.core.sharedpreferences.SPUtil.getRootDir (SPUtil.java:8) at com.xxx.core.sharedpreferences.SPUtil.getSharedPreferences (SPUtil.java:173) at com.xxx.core.sharedpreferences.SPUtil.getSharedPreferences$default (SPUtil.java:171) at com.xxx.core.sharedpreferences.SPUtil.readValue$default (SPUtil.java:277) at com.xxx.core.sharedpreferences.SPUtil.readValue (SPUtil.java:13) at com.xxx.pushagent.helper.OnOffSwitchHelper.readLastSwitchIfNeed (OnOffSwitchHelper.java:132) at com.xxx.pushagent.helper.OnOffSwitchHelper.getOnOffSwitch (OnOffSwitchHelper.java:953) at com.xxx.pushagent.helper.OnOffSwitchHelper.isSpReplaceEnable (OnOffSwitchHelper.java:911) at com.xxx.aspectj.SpAspect$Holder. (SpAspect.java:94) at com.xxx.aspectj.SpAspect$Holder.access$000 (SpAspect.java) at com.xxx.aspectj.SpAspect.redirectEnable (SpAspect.java:90) at com.xxx.aspectj.SpAspect.onContextGetSp (SpAspect.java:39) at com.huawei.hms.aaid.utils.PushPreferences$CallStubCgetSharedPreferencesa47401526db6800508c1c59bfb8a057b.redirect (PushPreferences.java) at com.xxx.library.mtajx.runtime.BaseMethodJoint.invoke (BaseMethodJoint.java:13) at com.huawei.hms.aaid.utils.PushPreferences. (PushPreferences.java:4) at com.huawei.hms.opendevice.i. (i.java:1) at com.huawei.hms.opendevice.i.a (i.java:1) at com.huawei.hms.aaid.init.AutoInitHelper.isAutoInitEnabled (AutoInitHelper.java:1) at com.huawei.hms.aaid.init.AutoInitHelper.doAutoInit (AutoInitHelper.java:1) at com.huawei.hms.aaid.InitProvider.onCreate (InitProvider.java:1) at android.content.ContentProvider.attachInfo (ContentProvider.java:2476) at android.content.ContentProvider.attachInfo (ContentProvider.java:2446) at android.app.ActivityThread.installProvider (ActivityThread.java:7904) at android.app.ActivityThread.installContentProviders (ActivityThread.java:7394) at android.app.ActivityThread.handleBindApplication (ActivityThread.java:7148) at android.app.ActivityThread.access$1800 (ActivityThread.java:284) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2266) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loopOnce (Looper.java:233) at android.os.Looper.loop (Looper.java:334) at android.app.ActivityThread.main (ActivityThread.java:8333) at java.lang.reflect.Method.invoke (Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:582) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1065) at com.android.internal.crash.avbgmp7fqnit63ydh57mxmxuaf (crash.java:1)

2、mmkv版本:com.tencent:mmkv-static:1.2.8 3、relinker版本:com.getkeepsafe.relinker:relinker:1.3.1

4、cpu架构: "armeabi-v7a", "arm64-v8a"

集中发生在11、12以及8系统,vivo手机居多,请问遇到这种问题如何解决呢?

jimmy5zhang avatar Apr 20 '22 08:04 jimmy5zhang

同样遇到这个问题,请问你解决了吗?

knyou avatar Jul 05 '22 03:07 knyou

同样遇到这个问题,请问你解决了吗?

请问您解决了吗

iamskullking avatar Aug 05 '22 10:08 iamskullking

Who needs ReLinker? If your app includes native libraries, and your minimum SDK is below API 23 (Marshmallow), you need ReLinker.

There are a number of different bugs addressed by ReLinker; the last of these was resolved as of Marshmallow. As long as your app's min SDK is at or above it, loading libraries via System.loadLibrary("foo") is safe.

看简介中这段话,是不是判断一下当前手机版本,23及以上的就不用relinker了?

ld2006203 avatar Oct 31 '22 07:10 ld2006203

Who needs ReLinker? If your app includes native libraries, and your minimum SDK is below API 23 (Marshmallow), you need ReLinker.

There are a number of different bugs addressed by ReLinker; the last of these was resolved as of Marshmallow. As long as your app's min SDK is at or above it, loading libraries via System.loadLibrary("foo") is safe.

看简介中这段话,是不是判断一下当前手机版本,23及以上的就不用relinker了?

不是只有23才有问题,是兼容到23,在往下了不管了吧

est7 avatar Feb 03 '23 08:02 est7