- Android插件化開發指南
- 包建強
- 1057字
- 2019-01-05 08:31:07
序二
很榮幸能為本書寫下三言兩語。
我和插件化技術之間有著難解的情緣,到目前為止我已經工作好幾年了,如果簡化一下,就是下面這個樣子:
1)開源dynamic-load-apk插件化框架(業余時間)。
2)開發百度手機衛士&出版《Android開發藝術探索》(百度)。
3)開源VirtualAPK插件化框架(滴滴出行)。
這么一看,自從我工作以來,有一半時間都在從事插件化相關的開發工作。我喜歡Android,也喜歡插件化。最開始我對插件化只是興趣使然,在工作之余我喜歡做一些研究,所以有了dynamic-load-apk。到后面我加入滴滴出行則是使命使然,在我的內心深處,我覺得dynamic-load-apk不夠完美,我想開發一款完美的插件化框架,于是有了后面的VirtualAPK。回想起插件化的發展,也就仿佛看到了一路走來的自己。
2014年3月30號,我在CSDN上發布了一篇文章《Android apk動態加載機制的研究》。這篇文章現在看起來很傻,技術也很落后,但是很多人都無法感受當時的情形。在2014年年初,別說插件化知識了,就連高質量的Android技術文章都比較匱乏。
說起高質量的Android技術文章,大家可能會想到:可以看《第一行代碼Android》和《Android開發藝術探索》呀!但是很遺憾,那個時候這兩本書都還沒出版,不止是這兩本書,很多大家所熟知的書都沒有出版。當時Android技術圈沉醉于下拉刷新、側滑菜單等這種炫酷特效,對于AIDL和View原理不曾研究過,你要問插件化?90%的Android工程師都不知道這是個什么東西。除了技術文章和書籍比較匱乏以外,開源也比較匱乏。在2014年,插件化技術只是一個概念,雖然當時阿里已經有了Atlas,但是并沒有開源,所以在這種情形下,我發的那篇文章就顯得很專業了,當時引起了技術圈的廣泛關注,獲得了7萬多的閱讀量。
在2014年下半年,我和田嘯、宋思宇等同學發起了dynamic-load-apk這個開源項目,現在大家都知道了,dynamic-load-apk在插件化歷史中有著濃厚的一筆。dynamic-load-apk支持動態加載代碼和資源,資源訪問可以直接通過R來進行,在四大組件方面支持Activity和Service。雖然說dynamic-load-apk談不上多完善,但是業內卻有不少公司基于dynamic-load-apk進行二次開發來定制自己的插件化框架,從這個角度來說dynamic-load-apk是很成功的一款開源框架。
到2016年,插件化框架才真正迎來了大繁榮時代,可謂百家爭鳴。不管是Atlas、Small、DroidPlugin還是攜程的DynamicAPK,都極大地促進了Android插件化框架的發展。我也是在2016年年初離開百度,來到了現在的滴滴出行。如果說在百度的工作是做應用開發的話,那么在滴滴出行的工作就完全是熱修復和插件化開發了。經過長時間的開發和驗證,滴滴出行在2017年6月30日開源了一個更為完善的插件化框架VirtualAPK,而我則在這個框架的開源中發揮了至關重要的作用。
如果給我這幾年的職業生涯寫一個總結,那就是:兩款Android插件化框架+一個App+一本書,而我還將在Android的道路上繼續耕耘。
任玉剛,2018年6月于北京