EMAS热修复不是使用SophixStubApplication这个类吗?和mPaas文档中的这个是不是有冲突,怎么解决?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
是的,emas 热修复功能需要使用 sophixstubapplication 类,该类是 sophix 热修复框架提供的默认 application 类,用于初始化 sophix 热修复框架。
在 mpaas 文档中提到的 com.alipay.mobile.framework.launcherapplication 类是 mpaas 框架提供的默认 application 类,用于初始化 mpaas 框架。如果您同时使用了 emas 热修复和 mpaas 框架,那么就会出现冲突。
为了解决这个问题,您可以自定义一个 application 类,继承 sophixstubapplication 类,并在该类中进行 mpaas 框架的初始化。具体步骤如下:
创建一个自定义 application 类,继承 sophixstubapplication 类。
在自定义 application 类中重写 attachbasecontext() 方法,调用 super.attachbasecontext() 方法,并在该方法中进行 mpaas 框架的初始化,代码示例如下:
public class myapplication extends sophixstubapplication { @override protected void attachbasecontext(context base) { super.attachbasecontext(base); // 在这里进行 mpaas 框架的初始化 alipayapplication.startup(this, new alipayconfig()); } } java 在 androidmanifest.xml 文件中,将默认的 application 类替换为自定义 application 类,代码示例如下:
<application android:name=".myapplication" ... xml 通过上述步骤,您可以同时使用 emas 热修复和 mpaas 框架,避免冲突问题。