首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
扬州慢
掘友等级
Android开发
敬畏技术
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
40
文章 38
沸点 2
赞
40
返回
|
搜索文章
赞
文章( 38 )
沸点( 2 )
Shadow的全动态设计原理解析
我们在宣传Shadow的时候说了Shadow具有两大特性,其中一个叫做“全动态插件框架”。这篇文章就讲这个特性。我们很早之前用过一款基于数百反射私有API实现的插件框架,在前面的文章也提过,在这种插件框架里要不停的兼容新版本的Android系统,OEM系统。尤其是Activit…
Shadow对PackageManager的处理方法
在Android开发中免不了使用PackageManager获取当前应用的一些信息。 从官方文档上能确定PackageManager一般都是通过Context的getPackageManager方法获得的,实际上我们平常开发中也只有这个途径。 显然,如果插件框架什么都不做,插件…
Shadow对插件包管理的设计
在Shadow开源的代码中,首先分为core层和dynamic层。core层就完成了插件框架的全部功能,dynamic层又将插件框架动态化起来了。然后core层本身主要也分为两部分,一部分是loader相关的,一部分是manager相关的。其中loader就是解决插件框架核心功…
Shadow 插件化框架分析
Shadow 是最近腾讯开源的一款插件化框架。原理是使用宿主代理的方式实现组件的生命周期。 目前的插件化框架,大部分都是使用 hook 系统的方式来做的。使用代理的基本上没有成体系的框架,只是一些小 demo,Shadow 框架的开源,在系统 api 控制越来越严格的趋势下,算…
Shadow的跨进程设计与插件Service原理
这篇文章介绍一下Shadow的跨进程设计和插件Service的原理。一同讲这两部分是因为它们是相关的。这篇文章假设读者对于Android的Service、Binder通信没有那么了解,因此会提及一些可能对你来说有些简单的内容。 在Android系统中,应用可以是多进程的。这在移…
Shadow解决插件和宿主有同名View的方法解析
在“免安装运行App”这个场景中,插件代码通常和宿主是完全不相关的。甚至项目都是独立管理的,插件和宿主是不同团队开发,不同版本发布管理的。在这种情况下,插件和宿主中出现相同名字的类是非常常见的。只要设计好ClassLoader的结构,将插件和宿主的ClassLoader隔离开,…
调试研究Shadow对字节码编辑的正确姿势
Shadow是通过字节码编辑技术向插件插入中间层,完成插件技术的核心工作的。所以,有必要给新接触字节码编辑技术的同学分享一下研究这项技术的入门姿势。 Android 官方的构建过程提供了名为TransForm的API,详见这里 。这个API允许第三方插件在class转换成dex…
通过 VirtualApp 实现免 Root 权限 Hook
VirtualApp 伪造了一套 framework 代码,实现所有在其进程启动的应用,都运行在一个虚拟空间(注:个人理解,如有错误,还请指出)。 Github 上的代码,作者已经没有继续开源更新了,可以看到后续的所有修改,都在作者的商业版上操作,所以有可能在使用上会出现一些 …
「Do.016」AndroidStudio不用编译,阅读Android源码
很早就像自己搭一个Android源码阅读环境,折腾了几次无果,就搁置了。最近有点闲暇时间,再加上也觉得是时候更深刻的认识Android系统了,所以再折腾了一次,没想到成功了,而且是用AndroidStudio阅读,还是那个熟悉的界面,还是那个熟悉的快捷键,哈哈,你也试试? 尝试…
支付宝客户端架构解析:Android 容器化框架初探
1. 前言 由本章节开始,我们将从支付宝客户端的架构设计方案入手,细分拆解客户端在“容器化框架设计”、“网络优化”、“性能启动优化”、“自动化日志收集”、“RPC 组件设计”、“移动应用监控、诊断、定位”等具体实现,带领大家进一步了解支付宝在客户端架构上的迭代与优化历程。 本节…
下一页
个人成就
优秀创作者
文章被点赞
160
文章被阅读
26,677
掘力值
623
关注了
15
关注者
18
收藏集
2
关注标签
7
加入于
2016-08-15