senda58

Results 10 comments of senda58

没人回复,估计是没人维护了,看提交时间都是2-3 年前了

> 从提交记录 [a0ea9d5](https://github.com/Tencent/Shadow/commit/a0ea9d59443f538631e445a96dc9d51babbe9497) 上可以看出来这个app2只是为了验证multiprocess的用法。 > > 不同插件进程里的插件是不相关的,跨进程的代码相互之间没有影响。所以我们一般不会专门研究怎么支持插件多进程,就是manifest中的process属性。因为这个没有什么技术障碍,把插件组件分配到对应插件进程的PPS就行了。 > > 一个插件进程一个PPS。宿主在manager这边控制它就行了。fast manager只是个支持持有一个controller的启动流程演示代码。要管理多个PPS只需要持有多个控制器就好了。 > > 要是同一个插件进程需要多种Loader版本,才需要multiloader那套实现。具体可以看提交记录,搜issue。这种场景是多个业务被迫共用一个插件进程。多个业务的shadow版本不一样。 @shifujun 谢谢回复!这个必须使用多个ppscontroller才行是吧,因为一个pps对应一个IBinder 对象,我看改造的话还挺麻烦的。能给具体写段代码或有多插件加载的demo 么?

经过多次、多个插件进程代码的断点调试,多插件基本功能已经实现,一些小细节还需调整。下面贴出改造后的代码,如有错误还需指正:主要改的文件是FastPluginManager文件代码:修改后的代码如下 public abstract class FastPluginManager extends PluginManagerThatUseDynamicLoader { private static final Logger mLogger = LoggerFactory.getLogger(FastPluginManager.class); private static final Map ppsControllerMap = new HashMap(); private PpsController currentPpsController; private ExecutorService mFixedPool =...

插件 app/build.gradle 文件如下: buildscript { repositories { if (!System.getenv().containsKey("DISABLE_TENCENT_MAVEN_MIRROR")) { maven { url 'https://mirrors.tencent.com/nexus/repository/maven-public/' } } else { google() mavenCentral() jcenter() } } //编译时使用(可以理解为在shdow构建(脚本)项目过程中需要的依赖包) dependencies { classpath 'com.tencent.shadow.core:runtime' classpath 'com.tencent.shadow.core:activity-container'...

补充:按照之前类似的issue 没有解决问题,麻烦给指导一下。搞了一天多了 也没搞出来 打包插件后会生成plugin-debug.zip 但是 反编译的class.dex 文件中没有com.tecent.shadow包 如下图:

已解决:gradle版本的问题,shadow sdk 中gradle版本和AGP版本太高导致的。 分别将这俩版本降低到了 7.0.2 和7.0.3。 对于高版本的, 希望研发人员再支持一下。

@shifujun 这个问题,我试了好几个插件,都会出现这种情况,确实不支持高版本的gradle 和AGP 。测试时,我插件的gradle 版本是7.3.3 AGP是7.20 。大佬这个怎么改

@shifujun 能帮忙看看这个问题么?想知道,在不改变插件 gradle 和 AGP版本的情况下 如何兼容shadow SDK 中gradle 与 AGP的版本

> 你不应该把第三方SDK的构建和你的项目构建混合起来。第三方SDK可能使用更高版本的依赖,但并不代表它完全不兼容低版本的依赖。Shadow对低版本的Gradle和AGP的兼容性体现在这个自动化测试中: > > https://github.com/Tencent/Shadow/blob/fb93248e55e8201b021eb0c7900bbd51c578afa2/projects/test/gradle-plugin-agp-compat-test/test.sh#L30-L55 > > 你应该参考https://github.com/Tencent/Shadow/blob/08da57dd53ae76a002a1fa341b170fd469151e68/projects/sample/README.md#%E4%BA%8C%E8%BF%9B%E5%88%B6maven%E4%BE%9D%E8%B5%96sdk%E7%9A%84sampleprojectssamplemaven 使用maven 依赖确实不会出现这种情况,这是为啥呢?

@anxiao521 你好,我想请较几个问题,能不能加个联系方式一起讨论一下呀 qq:164918226