上一篇文章。[Android插件化开发之Atlas初体验]( http://blog.csdn.net/sbsujjbcy/article/details/47446733),简单的介绍了使用Atlas的整个流程,可是假设你没有实践过的话预计还是一头雾水。从这篇文章開始,慢慢的切入细节。这篇文章的主
转载 2017-08-03 10:47:00
165阅读
2评论
转载 2019-09-12 08:00:00
104阅读
2评论
转载 2019-09-12 08:09:00
129阅读
2评论
转载 2019-09-12 08:07:00
141阅读
2评论
转载 2019-09-12 08:16:00
33阅读
2评论
Android插件化(六): OpenAtlasの改写aapt以防止资源ID冲突 转 https://.300168.com/yidong/show-2791.html 核心提示:引言Android应用程序的编译中,负责资源打包的是aapt,如果不对打包后的资源ID进行控制,就会导致插件中的资
转载 2019-09-12 08:04:00
210阅读
2评论
OpenAtlas有一个问题,就是四大组件必须在Manifest文件里进行注冊,那么就必定带来一个问题,插件中的组件都要反复在宿主中注冊。像Service,ContentProvider等组件眼下没有什么好的解决方法。仅仅能在宿主中注冊。可是像Activity,显然是有解决方法的。就是使用Fragm
转载 2017-08-18 17:45:00
126阅读
2评论
Android插件化(4):OpenAtlasの插件的卸载与更新 核心提示:如果看过我的前两篇博客Android插件化(2):OpenAtlas插件安装过程分析和Android插件化(3):OpenAtlas的插件重建以及使用时安装,就知道在插件的安装过程中OpenAtlas做了哪些事,那么插件的卸载就只需要把持久化和内存中的内容移除即可。1.插件的卸载插件卸载的 如果看过我的
转载 2024-04-18 11:51:08
56阅读
Android插件化(二):OpenAtlas插件安装过程分析 核心提示:在前一篇博客 Android插件化(一):OpenAtlas架构以及实现原理概要 中,我们对应Android插件化存在的问题,实现原理,以及目前的实现方案进行了简单的叙述。从这篇开始,我们要深入到OpenAtlas的源码中进行插件安装过程的分析。 插件的安装分为3种:宿主启动时立 在前一篇博客&nb
前三篇文章,介绍了OpenAtlas的一些基本用法以及patch的aapt的编译方法。 - Android插件化开发之Atlas初体验 - Android插件化开发之Atlas生成插件信息列表 - Android插件化开发之Atlas资源打包工具补丁aapt的编译OpenAtlas的原则就是避免引入冗余的库。也就是宿主中提供了第三方库后,插件中就不要再引入该库,编译的时候以provided形
用过Android的同学都知道,手机上的APP可以进行安装,安装完之后可以卸载,安装完后如果有新版本的话可以更新。此外还有一点,就是像windows那样,从win7升级到win10感觉不满意可以回滚到win7。但是回滚功能貌似在Android里是没有的。OpenAtlas也是如此,在我们的宿主上安装的插件,也是类似这个机制。OpenAtlas为我们提供了很好的插件安装,卸载,更新,回滚的功能。假设
Android插件化(六): OpenAtlasの改写aapt以防止资源ID冲突 核心提示:引言Android应用程序的编译中,负责资源打包的是aapt,如果不对打包后的资源ID进行控制,就会导致插件中的资源ID冲突。所以,我们需要改写aapt的源码,以达到通过某种方式传递资源ID的Package ID,通过aapt打包时获取到这个Package ID并且应用才插件资源的命名 引
使用OpenAtlas进行插件化开发,插件的开发几乎可以按照正常程序的开发流程进行,无需添加额外的东西。为了验证四大组件是否能够正常工作,这里编写一个插件,验证其功能。除了四大组件外,大多数应用还有Application类。该类我们也需要进行验证。首先新建一个模块,按照正常流程进行开发。新建Application类,为了方便起见,所有验证都使用日志输出形式。 public class App e
最近携程开源了一套动态加载的框架,总的来说,该框架和OpenAtlas还是有一定的相似之处的,比如资源的分区。此外该框架也支持热修复。个人觉得该框架中携程做的比较多的应该在打包语句的编写上面,这篇文章主要用于记录自己学习该框架的一个过程,携程的打包语句是我见过最复杂的,所以还是非常值得借鉴的。在携程的github上的DynamicAPK上,给出的打包方法是命令行执行gradle,如下 git