feat(core.manager): 大于API 33,安装插件时,禁止插件文件可写入#1357
Conversation
看起来CI环境有变化。我修一下。修好我来重新触发这个PR的CI。 |
ok |
|
另外这个问题怎么复现呢?CI之前也在api 34的虚拟机上跑过自动化测试,没crash。 |
直接跑sample-hello-host,点击按钮“宿主自定义接口的动态化”,如果sample-hello-host的TargetSdk为34会崩溃,如果没有升高TargetSdk,但是运行在34的手机上,会有E等级的错误Attempt to load writable dex file: /data/user/0/com.tencent.shadow.sample.hello.host/files/hello.apk但不会崩溃,所以应该逃过了自动化的测试 |
|
那需要把自动化测试的host的target升到34来复现问题。 而且加载插件的classloader也需要改吧。 这个项目维护的很低频,我们尽量每个改动都有CI验证才好。 |
整体升级为34的话感觉还有很多其他组件需要修改,你看下分步走还是一次性完整提交比较好,如果一次性提交的话我可能还需要一段时间 |
看是否需要我分多次pull来解决,保证修改的原子性 |
尽量少改动的方式增加target 34的一个冒烟测试, 只测试一个随意的插件用例能通过。
由于插件apk都是BasePluginManager负责解压缩的,所以它应该负责它们禁止可写。 但是PluginManager本身的apk更新应该由更新文件的代码本身禁止文件可写入。 Tencent#1344
abb1bd6 to
d278b76
Compare
|
我给target 34加了一个冒烟测试。 试着让它跑起来,还好要改动的不多。 你之前的修改不是很合适。 |
我刚好也在改,你说的没错,并且在安装的时候需要置为可写,我看你已经加上了,并且修复了广播的问题 |
Fixed the issue causing crashes due to writable dex files on Android 14. #1344