Shadow icon indicating copy to clipboard operation
Shadow copied to clipboard

接入MMKV,引入so,插件报没有权限

Open BruceLiuTao opened this issue 4 years ago • 11 comments

java.lang.UnsatisfiedLinkError: dlopen failed: couldn't map "/data/data/com.seuic.kysy/files/ShadowPluginManager/UnpackedPlugin/TakeDeliveryPluginManager/lib/1.5.6_lib/libmmkv.so" segment 1: Permission denied at java.lang.Runtime.loadLibrary0(Runtime.java:1016) at java.lang.System.loadLibrary(System.java:1669) at com.tencent.mmkv.MMKV.doInitialize(MMKV.java:194) at com.tencent.mmkv.MMKV.initialize(MMKV.java:181) at com.tencent.mmkv.MMKV.initialize(MMKV.java:134) at com.kye.utils.MMKVUtil.initMMKV(MMKVUtil.java:13)

BruceLiuTao avatar Jan 08 '22 10:01 BruceLiuTao

只有部分机型会这样

BruceLiuTao avatar Jan 08 '22 10:01 BruceLiuTao

宿主的targetSdkVersion29+吗?

https://developer.android.com/about/versions/10/behavior-changes-10#execute-permission

shifujun avatar Jan 10 '22 02:01 shifujun

我们targetSdkVersion是26,但我们宿主也用了这个MMKV,没有报错,只有插件报错了,而且只有部分机型报错了

BruceLiuTao avatar Jan 10 '22 04:01 BruceLiuTao

插件和宿主在同一个进程里加载不同版本的同一个so?

shifujun avatar Jan 10 '22 04:01 shifujun

1个版本的

BruceLiuTao avatar Jan 10 '22 06:01 BruceLiuTao

那至少也是在同一个进程重复加载2个相同内容的不同文件了。这也不是正常应用会做的事,可能有的系统没有兼容好这种场景。 不要这样做。

shifujun avatar Jan 10 '22 06:01 shifujun

我们插件和宿主是两个进程

BruceLiuTao avatar Jan 10 '22 07:01 BruceLiuTao

部分机型是什么机型?品牌,型号,系统版本都应该关注一下是否有聚集性。

shifujun avatar Jan 10 '22 07:01 shifujun

我们是定制的手持设备,其中有一款型号会报错 优博讯的巴枪 系统版本是9 肯定不是操作系统版本的原因,因为另外一款设备也是android9 是可以的

BruceLiuTao avatar Jan 10 '22 08:01 BruceLiuTao

如果你能确定在一个型号上问题有聚集性,显然这个型号是有问题的。你可以尝试在这个型号上写正常的app,不使用shadow,尝试你说的两个进程加载同一个so的两个不同文件。也可以试试在同一个进程加载,看看能否有相同的报错出现。

另外这个交流太低效了,你为什么不一开始就分享所有的信息呢?

shifujun avatar Jan 10 '22 08:01 shifujun

好的,我试试,并反馈给厂商问问,谢谢,之后提问题尽量把设备信息一次性提供全

BruceLiuTao avatar Jan 10 '22 09:01 BruceLiuTao