包建强的培训课程(10):Android插件化从入门到精通
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
Normal
0
10 pt
0
2
false
false
false
EN-US
ZH-CN
X-NONE
$([{£¥·‘“〈《「『【〔〖〝﹙﹛﹝$(.[{£¥
!%),.:;>?]}¢¨°·ˇˉ―‖’”…‰′″›℃∶、。〃〉》」』】〕〗〞︶︺︾﹀﹄﹚﹜﹞!"%'),.:;?]`|}~¢
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:Cambria;
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
Android插件化和热修复
一.简介
本课程结合讲师多年来对Android插件化技术的潜心研究,以及在千万级用户的App上长期实践经验,整理而成。本课程从四大组件的插件化技术讲起,中途会详细剖析Android系统中与插件化技术有关的底层概念,最后详细介绍业界流行很广的插件化开源框架的设计原理和使用姿势。
同时,本课程也将涉及到Android热修复技术。
本课程系列适合于:
l 从事Android开发2-3年的中高级技术人员、技术经理
l 准备在公司的Android项目中使用插件化编程的开发团队
l 对Android插件化和热修复技术有兴趣学习和研究的开发人员
本课程系列将帮助中级学员快速成长,掌握Android插件化开发所需要的各种相关技术,帮助高级学员在公司快速搭建Android插件化框架。
提前准备物料:
l Android开发机(Mac或PC)
l Android Studio 2.2
l Android 23.0.2的环境
l Android 24.0.1的环境
二.课程大纲(2天)
第一天
第1讲 Android基础知识
l 从MultiDex和65536说起
l Java反射技术
l SDCard权限
l Proxy
l Message与Handler
第2讲 Android底层相关技术
l Binder
l AIDL
l App启动原理
l App安装过程
第3讲
Activity的插件化解决方案
l 动态替换的解决方案
l 静态代理的解决方案
l 对Theme的支持
l 对Fragment的支持
l 对LaunchMode的支持
第4讲
资源的插件化解决方案
l Android中的资源原理
l 扩展AAPT
l 修改public.xml
l 修改resource.arsc
分组练习:
l 实现Activity静态代理的插件化
l 实现Activity动态替换的插件化
第二天
第5讲
Service的插件化解决方案
l Service概念介绍
l Service原理
l 动态替换的解决方案
l 静态代理的解决方案
第6讲
ContentProvider的插件化解决方案
l ContentProvider概念介绍
l ContentProvider原理
l ContentProvider的插件化解决方案
第7讲 BroadcastReceiver的插件化解决方案
l BroadcastReceiver概念介绍
l BroadcastReceiver原理
l BroadcastReceiver的插件化解决方案
第8讲
增量更新、降级处理
l 插件管理后台
l 增量更新
l 降级处理
l 模块化拆分
l 混淆
l 调试插件
第9讲
著名插件化开源项目剖析
l DL框架(任玉刚)
l DroidPlugin框架
l Small框架
l Zeus框架
分组练习:
l 实现Service插件化
l 实现ContentProvider插件化
l 实现BroadcastReceiver插件化
Normal
0
10 pt
0
2
false
false
false
EN-US
ZH-CN
X-NONE
$([{£¥·‘“〈《「『【〔〖〝﹙﹛﹝$(.[{£¥
!%),.:;>?]}¢¨°·ˇˉ―‖’”…‰′″›℃∶、。〃〉》」』】〕〗〞︶︺︾﹀﹄﹚﹜﹞!"%'),.:;?]`|}~¢
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:Cambria;
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
包建强的培训课程(10):Android插件化从入门到精通的更多相关文章
- 包建强的培训课程(15):Android App热修复技术
@import url(/css/cuteeditor.css); Normal 0 10 pt 0 2 false false false EN-US ZH-CN X-NONE $([{£¥·‘“〈 ...
- 包建强的培训课程(6):Android App瘦身优化
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- 包建强的培训课程(14):Android与ReactNative
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 包建强的培训课程(13):iOS与ReactNative
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 包建强的培训课程(16):Android新技术入门和提高
@import url(/css/cuteeditor.css); Normal 0 10 pt 0 2 false false false EN-US ZH-CN X-NONE $([{£¥·‘“〈 ...
- 包建强的培训课程(1):Android App企业级开发
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 包建强的培训课程(2):Android与设计模式
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 包建强的培训课程(9):Android App性能优化
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- 包建强的培训课程(3):App竞品技术分析
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
随机推荐
- XUbuntu18.04(Bionic河狸)正式发布,系统安装升级记录
XUbuntu18.04(Bionic河狸)正式发布,系统安装升级记录 详细介绍: https://blog.pythonwood.com/2018/04/XUbuntu18.04(Bionic河狸) ...
- Gulp入门及简单使用
前言 什么是gulp?gulp有什么用?为什么用gulp? gulp是前端开发的一种构建工具. 构建工具可以帮助我们工程化地开发项目,比如搭建本地服务器.编译CSS预处理器.保存文件后自动刷新浏览器而 ...
- 原生js简单轮播图 代码
在团队带人,突然被人问到轮播图如何实现,进入前端领域有一年多了,但很久没自己写过,一直是用大牛写的插件,今天就写个简单的适合入门者学习的小教程.当然,轮播图的实现原理与设计模式有很多种,我这里讲的是用 ...
- Ubuntu 18.04 下如何配置mysql 及 配置远程连接
首先是大家都知道的老三套,啥也不说上来就放三个大招: sudo apt-get install mysql-server sudo apt isntall mysql-client sudo apt ...
- 为nginx创建windows服务自启动
1.下载最新版的 Windows Service Wrapper 程序,比如我下载的名称是 "winsw-1.9-bin.exe",然后,把它命名成你想要的名字(比如: " ...
- linux学习第十四天 (Linux就该这么学)找到一本不错的Linux电子书
今天老师讲了,DNS的相关,安装,配置,由来,13台根服务器,配置了主服务器,从服务器,和缓存服务器,等,今天补个大概吧,没有 记 还有正向解析,反向解析.
- 记录学习WeakReference发现的问题
在学习ThreadLocal时发现ThreadLocalMap里的Entry使用到了WeakReference,所以重新学习WeakReference 查看相关博客例如: https://blog.c ...
- C# WPF 父控件通过使用可视化树找到子控件
在我们使用WPF设计前台界面时,经常会重写数据模板,或者把控件放到数据模板里.但是一旦将控件放到数据模板中,在后台就没有办法通过控件的名字来获取它了,更没办法对它进行操作(例如,隐藏,改变控件的某个值 ...
- Maven学习 九 maven热部署
第一步:配置tomcat的manager-script角色 点击tomcat的默认项目root的欢迎页面的Manager App 刚开始是没有用户名与和密码的,直接点击取消 出现如下的一张图片,图片中 ...
- 对int数组排序
// 排序-->小到大1 public void sortArray(int[] targetArr) { long t = System.currentTimeMi ...