1. 程式人生 > >包建強的培訓課程(10):Android外掛化從入門到精通

包建強的培訓課程(10):Android外掛化從入門到精通

Android外掛化和熱修復

一.簡介

本課程結合講師多年來對Android外掛化技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從四大元件的外掛化技術講起,中途會詳細剖析Android系統中與外掛化技術有關的底層概念,最後詳細介紹業界流行很廣的外掛化開源框架的設計原理和使用姿勢。

同時,本課程也將涉及到Android熱修復技術。

本課程系列適合於:

l從事Android開發2-3年的中高階技術人員、技術經理

l準備在公司的Android專案中使用外掛化程式設計的開發團隊

lAndroid外掛化和熱修復技術有興趣學習和研究的開發人員

本課程系列將幫助中級學員快速成長,掌握

Android外掛化開發所需要的各種相關技術,幫助高階學員在公司快速搭建Android外掛化框架。

提前準備物料:

lAndroid開發機(MacPC

lAndroid Studio 2.2

lAndroid 23.0.2的環境

lAndroid 24.0.1的環境

二.課程大綱(2天)

第一天

1 Android基礎知識

lMultiDex65536說起

lJava反射技術

lSDCard許可權

lProxy

lMessageHandler

2 Android底層相關技術

lBinder

lAIDL

lApp啟動原理

lApp安裝過程

3 Activity的外掛化解決方案

l動態替換的解決方案

l靜態代理的解決方案

lTheme的支援

lFragment的支援

lLaunchMode的支援

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外掛化

相關推薦

培訓課程10Android外掛入門精通

Android外掛化和熱修復 一.簡介 本課程結合講師多年來對Android外掛化技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從四大元件的外掛化技術講起,中途會詳細剖析Android系統中與外掛化技術有關的底層概念,最後詳細介紹業界流行很廣的外

培訓課程1Android App企業級開發

Android企業級開發實戰 一.簡介 結合講師5年來一線工作經驗,打造千萬級使用者所需要的Android開發框架,以使用快速迭代的節奏和上百人的團隊協作。每一個知識點的總結,都是講師在踩過坑之後,血和淚的經驗教訓,十分有參考借鑑的意義。 本課程系列適合於從事Android開發1-2

培訓課程15Android App熱修復技術

Android外掛化和熱修復 一.簡介 本課程是目前對Android熱修復技術最全的整理和講解,涉及熱修復的歷史、技術流派,詳細介紹了業界各種熱修復技術的原理和接入方式,並對每種熱修復技術的優缺點進行評測。 本課程系列適合於: l從事Android開發2-3年的中高階技術人

培訓課程9Android App效能優化

課程名稱:Android App效能優化 一、簡介 本課程根據講師多年來從事App開發的工作經驗,以及業界若干App的效能優化經驗分享,總結出Android App開發時的若干效能優化經驗,基本覆蓋了Android App效能優化的方方面面。 本課程在講解Android App效能

培訓課程16Android新技術入門和提高

Android新技術入門和提高 一.簡介 # 課程簡介 結合講師5年來一線工作經驗,對Android業界的各種新技術、新思想的持續學習、研究以及付諸實踐,將研究心得和實踐經驗彙編成本課程。 # 受眾定位 本課程系列適合於從事Android開發1-2年的技術人員,幫助他們使

培訓課程2Android與設計模式

課程名稱:Android與設計模式 一、簡介 本課程根據講師十多年的一線工作經驗,涉足.NET、Android、iOS等多個技術領域,對設計模式有獨到的理解。不拘泥於傳統的書本教程,結合Android在實際專案中的運用,幫助學員深刻理解設計模式。 本課程讓學員掌握二十

培訓課程17Java程式碼敏捷之道

第1講 千言萬語聊註釋 按圖索驥 奇葩註釋“賞析” Git提交的學問 第2講 RxJava:函數語言程式設計 從一隻貓的故事說起 背壓 第3講 程式碼瘦身 抽象相同邏輯的程式碼 查詢相似程式碼 AOP一瞥 第4講演算法之美 從集合中刪除元素

培訓課程11iOS Runtime實戰

iOS Runtime實戰 一、簡介 本課程結合講師多年來對iOS Runtime技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從NSObject和Class講起,然後會介紹本課程的核心內容——自省和Method Swizzling,最後通過iOS

培訓課程13iOS與ReactNative

課程名稱:iOS與ReactNative 一、簡介 本課程講解目前最火的ReactNative技術,從入門講起,包括NodeJS、React和ES6等基礎知識,隨後從淺入深逐步剖析ReactNative,包括ReactNative的原理、實戰以及一些高階實用技巧。 本

培訓課程5演算法與資料結構

演算法與資料結構 一、簡介 本課程是基於資料結構來設計的,蒐羅了各大公司面試過程中經常被問到的300多個演算法題目,從中遴選出70道經典題目,分為單鏈表、陣列、二叉樹、棧、數字、邏輯推理等多個類別。 本課程將培訓學員的邏輯思維能力,學以致用,在實戰中編寫出效能更好、邏輯更嚴謹的程式。 本課程適

培訓課程12iOS深入學習記憶體管理、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開發一樣,有默認提供的控件和第三方開者發布的控件。一般而言,如果不是過於復雜的界面布局,使用默認控件就足矣。相比之

藍的成長記——追逐DBA10飛刀防身,熟絡而非專長擺弄中間件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常用操作命令10cal命令顯示日歷信息

Linux cal 日歷 8.10 《Linux學習並不難》Linux常用操作命令(10):cal命令顯示日歷信息 使用cal命令可以顯示計算機系統的日歷。 命令語法: cal [選項] [[[日] 月] 年] 命令中各選項的含義如表所示。 選項 選項含義 -j顯示