首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Jack_Jiao
掘友等级
客户端开发
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
26
文章 26
沸点 0
赞
26
返回
|
搜索文章
赞
文章( 26 )
沸点( 0 )
Shadow的全动态设计原理解析
我们在宣传Shadow的时候说了Shadow具有两大特性,其中一个叫做“全动态插件框架”。这篇文章就讲这个特性。我们很早之前用过一款基于数百反射私有API实现的插件框架,在前面的文章也提过,在这种插件框架里要不停的兼容新版本的Android系统,OEM系统。尤其是Activit…
Shadow解决插件和宿主有同名View的方法解析
在“免安装运行App”这个场景中,插件代码通常和宿主是完全不相关的。甚至项目都是独立管理的,插件和宿主是不同团队开发,不同版本发布管理的。在这种情况下,插件和宿主中出现相同名字的类是非常常见的。只要设计好ClassLoader的结构,将插件和宿主的ClassLoader隔离开,…
Shadow支持WebView使用file:///android_asset/协议加载插件资源的方法
在正常的App开发中,我们可以用这样的代码加载App的Assets中打包的Web页面。 Android系统实现这个功能时,并没有像我们想象的使用webview对象的Context去查找Assets资源。而是通过当前应用的ApplicationId,反查了当前安装的应用的apk路…
Shadow对PackageManager的处理方法
在Android开发中免不了使用PackageManager获取当前应用的一些信息。 从官方文档上能确定PackageManager一般都是通过Context的getPackageManager方法获得的,实际上我们平常开发中也只有这个途径。 显然,如果插件框架什么都不做,插件…
调试研究Shadow对字节码编辑的正确姿势
Shadow是通过字节码编辑技术向插件插入中间层,完成插件技术的核心工作的。所以,有必要给新接触字节码编辑技术的同学分享一下研究这项技术的入门姿势。 Android 官方的构建过程提供了名为TransForm的API,详见这里 。这个API允许第三方插件在class转换成dex…
Shadow对插件包管理的设计
在Shadow开源的代码中,首先分为core层和dynamic层。core层就完成了插件框架的全部功能,dynamic层又将插件框架动态化起来了。然后core层本身主要也分为两部分,一部分是loader相关的,一部分是manager相关的。其中loader就是解决插件框架核心功…
个人成就
文章被点赞
57
文章被阅读
44,848
掘力值
641
关注了
13
关注者
11
收藏集
1
关注标签
0
加入于
2017-03-28