包建強的培訓課程(10):Android外掛化從入門到精通
Android外掛化和熱修復
一.簡介
本課程結合講師多年來對Android外掛化技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從四大元件的外掛化技術講起,中途會詳細剖析Android系統中與外掛化技術有關的底層概念,最後詳細介紹業界流行很廣的外掛化開源框架的設計原理和使用姿勢。
同時,本課程也將涉及到Android熱修復技術。
本課程系列適合於:
l從事Android開發2-3年的中高階技術人員、技術經理
l準備在公司的Android專案中使用外掛化程式設計的開發團隊
l對Android外掛化和熱修復技術有興趣學習和研究的開發人員
本課程系列將幫助中級學員快速成長,掌握
提前準備物料:
lAndroid開發機(Mac或PC)
lAndroid Studio 2.2
lAndroid 23.0.2的環境
lAndroid 24.0.1的環境
二.課程大綱(2天)
第一天
第1講 Android基礎知識
l從MultiDex和65536說起
lJava反射技術
lSDCard許可權
lProxy
lMessage與Handler
第2講 Android底層相關技術
lBinder
lAIDL
lApp啟動原理
lApp安裝過程
第3講 Activity的外掛化解決方案
l動態替換的解決方案
l靜態代理的解決方案
l對Theme的支援
l對Fragment的支援
l對LaunchMode的支援
第4講 資源的外掛化解決方案
lAndroid中的資源原理
l擴充套件AAPT
l修改public.xml
l修改resource.arsc
分組練習:
l實現Activity靜態代理的外掛化
l實現Activity動態替換的外掛化
第二天
第5講 Service的外掛化解決方案
lService概念介紹
lService原理
l動態替換的解決方案
l靜態代理的解決方案
第6講 ContentProvider的外掛化解決方案
lContentProvider概念介紹
lContentProvider原理
lContentProvider的外掛化解決方案
第7講 BroadcastReceiver的外掛化解決方案
lBroadcastReceiver概念介紹
lBroadcastReceiver原理
lBroadcastReceiver的外掛化解決方案
第8講 增量更新、降級處理
l外掛管理後臺
l增量更新
l降級處理
l模組化拆分
l混淆
l除錯外掛
第9講 著名外掛化開源專案剖析
lDL框架(任玉剛)
lDroidPlugin框架
lSmall框架
lZeus框架
分組練習:
l實現Service外掛化
l實現ContentProvider外掛化
l實現BroadcastReceiver外掛化
相關推薦
包建強的培訓課程(10):Android外掛化從入門到精通
Android外掛化和熱修復 一.簡介 本課程結合講師多年來對Android外掛化技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從四大元件的外掛化技術講起,中途會詳細剖析Android系統中與外掛化技術有關的底層概念,最後詳細介紹業界流行很廣的外
包建強的培訓課程(1):Android App企業級開發
Android企業級開發實戰 一.簡介 結合講師5年來一線工作經驗,打造千萬級使用者所需要的Android開發框架,以使用快速迭代的節奏和上百人的團隊協作。每一個知識點的總結,都是講師在踩過坑之後,血和淚的經驗教訓,十分有參考借鑑的意義。 本課程系列適合於從事Android開發1-2
包建強的培訓課程(15):Android App熱修復技術
Android外掛化和熱修復 一.簡介 本課程是目前對Android熱修復技術最全的整理和講解,涉及熱修復的歷史、技術流派,詳細介紹了業界各種熱修復技術的原理和接入方式,並對每種熱修復技術的優缺點進行評測。 本課程系列適合於: l從事Android開發2-3年的中高階技術人
包建強的培訓課程(9):Android App效能優化
課程名稱:Android App效能優化 一、簡介 本課程根據講師多年來從事App開發的工作經驗,以及業界若干App的效能優化經驗分享,總結出Android App開發時的若干效能優化經驗,基本覆蓋了Android App效能優化的方方面面。 本課程在講解Android App效能
包建強的培訓課程(16):Android新技術入門和提高
Android新技術入門和提高 一.簡介 # 課程簡介 結合講師5年來一線工作經驗,對Android業界的各種新技術、新思想的持續學習、研究以及付諸實踐,將研究心得和實踐經驗彙編成本課程。 # 受眾定位 本課程系列適合於從事Android開發1-2年的技術人員,幫助他們使
包建強的培訓課程(2):Android與設計模式
課程名稱:Android與設計模式 一、簡介 本課程根據講師十多年的一線工作經驗,涉足.NET、Android、iOS等多個技術領域,對設計模式有獨到的理解。不拘泥於傳統的書本教程,結合Android在實際專案中的運用,幫助學員深刻理解設計模式。 本課程讓學員掌握二十
包建強的培訓課程(17):Java程式碼敏捷之道
第1講 千言萬語聊註釋 按圖索驥 奇葩註釋“賞析” Git提交的學問 第2講 RxJava:函數語言程式設計 從一隻貓的故事說起 背壓 第3講 程式碼瘦身 抽象相同邏輯的程式碼 查詢相似程式碼 AOP一瞥 第4講演算法之美 從集合中刪除元素
包建強的培訓課程(11):iOS Runtime實戰
iOS Runtime實戰 一、簡介 本課程結合講師多年來對iOS Runtime技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從NSObject和Class講起,然後會介紹本課程的核心內容——自省和Method Swizzling,最後通過iOS
包建強的培訓課程(13):iOS與ReactNative
課程名稱:iOS與ReactNative 一、簡介 本課程講解目前最火的ReactNative技術,從入門講起,包括NodeJS、React和ES6等基礎知識,隨後從淺入深逐步剖析ReactNative,包括ReactNative的原理、實戰以及一些高階實用技巧。 本
包建強的培訓課程(5):演算法與資料結構
演算法與資料結構 一、簡介 本課程是基於資料結構來設計的,蒐羅了各大公司面試過程中經常被問到的300多個演算法題目,從中遴選出70道經典題目,分為單鏈表、陣列、二叉樹、棧、數字、邏輯推理等多個類別。 本課程將培訓學員的邏輯思維能力,學以致用,在實戰中編寫出效能更好、邏輯更嚴謹的程式。 本課程適
包建強的培訓課程(12):iOS深入學習(記憶體管理、Block和GCD等)
iOS記憶體管理 一簡介 結合講師5年來一線工作經驗,以及對iOS的深刻理解,整理出這個課程,涉及iOS記憶體、Block、GCD和Category的原理和使用。 本課程系列適合於從事iOS開發1-2年的技術人員,幫助他們鞏固基礎,從而在ARC開發環境下高效的使用GCD、Bloc
專訪包建強:為什麼我說Android外掛化從入門到放棄?
2016年6月24-25日,GMTC全球移動技術大會將在北京舉行,本屆大會,我們邀請了《App研發錄》的作者包建強老師,前來分享《Android外掛化:從入門到放棄》的內容。這個有趣的標題引起了大家的興趣,我們就來採訪一下包建強老師,看看他為什麼會取這個標題,以及對移動
Reactive Stack系列(一):響應式程式設計從入門到放棄
為了詳細介紹下基於Spring Framework 5 & Spring Boot 2 的WebFlux的響應式程式設計,先畫下如下邏輯圖,後文將以邏輯圖箭頭方向逐一解釋關於響應式程式設計的點點滴滴。 1. Spring Framework5 自 2013 年12月Spring Fra
外掛化開發系列之三---Android外掛化從入門到放棄-最強合集
本人最近研究外掛化, 偶然發現此合集, 按照部分連結的文章實際簡單寫了些demo,受益良多, 覺得確實不錯,特轉載過來,給需要的人。 外掛化涉及的東西很多,所以我們需要多個維度去學習。大概分為5個部分:預備知識、入門、進階、系列、類庫。一步一步深入瞭解外掛的原理。 基礎1.Java 類載入器 類載入
Python基礎(10):返回函式,閉包以及裝飾器之間那些糾纏不清的關係
一:返回函式 定義:函式可以作為另一個函式的返回值。 理論來源:函式可以巢狀定義。 def fun1(li): def fun2(): return sum(li) return fun2 呼叫fun1函式,返回的是一個一個fun2例項。
Windows Phone開發(10):常用控件(上)
androi chm att size near grid txt idt inf Windows Phone的控件有幾個來源,和傳統的桌面應用程序開發或Web開發一樣,有默認提供的控件和第三方開者發布的控件。一般而言,如果不是過於復雜的界面布局,使用默認控件就足矣。相比之
藍的成長記——追逐DBA(10):飛刀防身,熟絡而非專長:擺弄中間件Websphere
native 歷程 server 業界 http 由於 虛擬機 基礎 fill 原創作品,出自 “深藍的blog” 博客。歡迎轉載,轉載時請務必註明出處。否則追究版權法律責任。 深藍的blog:http://blog.csdn.net/huangyanlong/ar
5.創建web服務器(LNMP):
期中架構 web lnmp 創建web服務器(LNMP): # optimization by onekeysed -i ‘s#SELINUX=enforcing#SELINUX=disabled#‘ /etc/selinux/configgrep SELINUX=disabled /etc/s
java學習(10):求最接近點對問題
sta poi span exti ++ null @override over max 1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.List
《Linux學習並不難》Linux常用操作命令(10):cal命令顯示日歷信息
Linux cal 日歷 8.10 《Linux學習並不難》Linux常用操作命令(10):cal命令顯示日歷信息 使用cal命令可以顯示計算機系統的日歷。 命令語法: cal [選項] [[[日] 月] 年] 命令中各選項的含義如表所示。 選項 選項含義 -j顯示