alibaba / atlas

A powerful Android Dynamic Component Framework.
Apache License 2.0
8.12k stars 1.48k forks source link

[use]:关于动态部署是不是已经彻底停用了 #355

Closed iDev01 closed 5 years ago

iDev01 commented 5 years ago

最新版本v5.1.0.9-rc26的更新说明中已经去掉了atlas-update, 是不是意味着之后的版本将彻底放弃动态部署呢?

hwjump commented 5 years ago

在P上动态部署就受到了限制,跨dex的inline 方法会crash。 动态部署用还是能用,就是要识别出哪些方法会被inline然后用一些方法规避掉,具体可以去google。 所以从长远看,动态部署会越来越被android新版本限制。

iDev01 commented 5 years ago

嗯 谢谢

iDev01 commented 5 years ago

去掉Remote VIew和 Remote Fragment之后如何跨Bundle如何使用Fragment呢?

pangzhen commented 4 years ago

在P上动态部署就受到了限制,跨dex的inline 方法会crash。 动态部署用还是能用,就是要识别出哪些方法会被inline然后用一些方法规避掉,具体可以去google。 所以从长远看,动态部署会越来越被android新版本限制。

1.在p上的inline问题,打补丁后已经用NClass避免内联的cache,而且内联也不是在p版本才开始有的 2.Apache HttpClient在p上被弃用,改成由PathClassLoader加载,如果插件是由PathClassLoader加载,多个插件就会导致有多个HttpClient,内联的情况下确实会导致崩溃。但atlas的BundleClassLoader是继承BaseDexClassLoader,所以没有这个问题 3.哪里还发现有内联导致的崩溃呢? 这里尝试了修复在p上的动态部署https://github.com/pangzhen/atlas-fixP