VirtualAPK
VirtualAPK copied to clipboard
资源 id 查找不到
在插件中,通过 getIdentifier 方法获取资源 id,资源存在,且已有正确的 id,但是获取到的 id 为 0x00000000。提示如下错误: 03-13 16:44:57.851 3757-3812/com.bovyoung.demo W/ResourceType: No package identifier when getting value for resource number 0x00000000
你是想获取插件里的资源id么,因为在插件里通过context获取到的包名其实是宿主的包名,是获取不到插件的包名的,如果是插件的资源id,当然在宿主包的R中查找不到会返回0 我也很想知道,如何才能在代码中获取到插件的包名
你是想获取插件里的资源id么,因为在插件里通过context获取到的包名其实是宿主的包名,是获取不到插件的包名的,如果是插件的资源id,当然在宿主包的R中查找不到会返回0 我也很想知道,如何才能在代码中获取到插件的包名
对的,是这个原因,我们已经解决了。通过 Context 获取插件包名,可以在 load 插件时,创建 PluginContext 时,把其包名替换为插件的包名就可以了。
嗯,还有一个办法,通过val packageName = resources.getResourcePackageName(...) 传入插件的随便一个资源id也可以获取到插件的包名
你是想获取插件里的资源id么,因为在插件里通过context获取到的包名其实是宿主的包名,是获取不到插件的包名的,如果是插件的资源id,当然在宿主包的R中查找不到会返回0 我也很想知道,如何才能在代码中获取到插件的包名
对的,是这个原因,我们已经解决了。通过 Context 获取插件包名,可以在 load 插件时,创建 PluginContext 时,把其包名替换为插件的包名就可以了。
看了一下,host中好像没有替换包名的api,能说的具体一点替换的位置么
是在调用getIdentifier的时候,不使用Context#getPackageName,而是换成插件包名?