Tencent / Shadow

零反射全动态Android插件框架
BSD 3-Clause "New" or "Revised" License
7.43k stars 1.3k forks source link

插件使用raw文件无法正常读取到资源 #1201

Closed lgz1113 closed 5 months ago

lgz1113 commented 1 year ago

大大,麻烦看下,插件项目中有使用raw里头的资源,在使用 Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.xx); 之后,一直报无法找到这个资源导致插件异常,独立的apk安装是正常的,请问这个怎么处理。 pic1 pic2

shifujun commented 1 year ago

看起来就是直接把插件的资源id交给系统类Imageview了。那么系统类肯定不会找到插件的apk在哪的。所以不能正常工作是好理解的。

我估计要支持这种场景还是需要hook这种用法,转调成从插件自己的resource对象先取出资源再交给系统类吧。

你可以试着实现一下,或者至少写出来比较完整的测试用例,我可以一起看一下怎么hook更合理。

lgz1113 commented 5 months ago

    您好,您的邮件我已收到,现在无法亲自回复您的邮件。但过后我会尽快给您回复。