相信你們都知道安卓應用開發的大量難題,其實最後都須要插件技術去解決。程序員
現今插件技術的使用很是廣泛,好比微信、QQ、淘寶、天貓、空間、攜程、大衆點評、手機管家等等這些你們在熟悉不過的應用都在使用。微信
插件技術能夠給項目開發帶來巨大的好處,好比:並行高效開發、模塊解耦、解除單個dex函數不能超過65535的限制、動態更新升級、按需加載等等。架構
掌握好插件技術,須要以下的安卓基礎和相關知識,例如:框架
Android應用程序安裝,加載過程ide
Android應用運行機制,生命週期調用原理函數
Android應用資源編譯打包原理源碼分析
Android應用讀取資源原理插件
Android系統AMS、PMS、NMS等系統服務的運做原理代理
增量更新xml
本文將從基礎的插件化原理到Android插件化初探再到大廠架構演化實戰應用,總結出了較爲全面與完整的安卓插件技術與插件化對 Android開發的重要性。
1.類加載
2.雙親委託機制
3.資源加載
4.四大組件支持
5 ProxyActivity代理
6 hook方式
7 其餘組件
8 Android動態加載框架DL的架構與基本原理解析
9 Android 插件化框架 DynamicLoadApk 源碼分析
1.從零開始實現一個插件化框架(1)
概念
插件化解決的問題
各插件化框架對比
插件化實現
2.從零開始實現一個插件化框架(2)
Activity的啓動流程
尋找Hook點
擼碼階段
代理對象
偷天換日,替換原來的Intent
ActivityThread
將代理的intent替換回來
3.從零開始實現一個插件化框架(3)
插件資源加載
Android中資源加載流程
ActivityManager
ActivityThread
AppCompatActivity
1.360插件開發之DroidPlugin
插件開發之360 DroidPlugin源碼分析
Hook機制類圖關係
Hook機制的時序圖關係
Manifest權限申請
基類Hook作了什麼?
ProxyHook
BaseHookHandle
HookedMethodHandler
ReplaceCallingPackageHookedMethodHandler
IO重定向
遞歸遍歷
以IPackageManager爲例
2. 滴滴VirtualApk實戰
配置
應用
原理
總結
3.基於VirtualAPK Android重構之插件化
Plug-in Hello World
插件化框架的選擇
插件化原理
引入插件化之痛
4.愛奇藝插件化原理分析之 Neptune框架
插件化基礎知識點
類加載
插件化中資源使用限制
Apk打包流程
四大組件的插件化
Neptune源碼分析
插件Activity任務棧
5. 360開源全面插件化框架RePlugin 實戰
RePlugin 介紹
宿主接入步驟
插件接入步驟
6. 騰訊插件化框架 Shadow項目解析
框架簡單介紹
框架結構分析
sample 示例代碼 AndroidManifest.xml 分析
Activity 實現
替換插件 Activity 的父類
Service 實現
BroadcastReceiver 實現
ContentProvider 實現
框架自身動態化
插件化技術能夠說是Android高級工程師所必須具有的技能之一,從2012年插件化概念的提出(Android版本),到2016年插件化的百花爭豔,直至如今拆件化已成爲Android開發必不可少的重點,能夠說,插件化技術引領着Android技術的進步。
我相信一個高級程序員必定是勤奮的,能夠快速地掌握大量 的新技術、新框架,不只懂得原理,還能把新的技術落地到公司的產品中去。這是衡量程序員 工做能力的一個重要標準,那麼怎樣才能將技術運用自如呢?惟有實踐。
若是你正好須要這份完整版Android高級插件化強化實戰文檔,只需你多多支持我這篇文章。
整理不易,以爲有幫助的朋友能夠幫忙點贊分享支持一下小編~
你的支持,個人動力;祝各位前程似錦,offer不斷!!!