電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Shadow騰訊的Android插件框架

Shadow騰訊的Android插件框架

2022-06-13 | zip | 1.63 MB | 次下載 | 2積分

資料介紹

授權(quán)協(xié)議 BSD
開發(fā)語言 Kotlin Java
軟件類型 開源軟件
所屬分類 手機/移動開發(fā)、 Android UI 組件

軟件簡介

Shadow是一個騰訊自主研發(fā)的Android插件框架,經(jīng)過線上億級用戶量檢驗。 Shadow不僅開源分享了插件技術(shù)的關(guān)鍵代碼,還完整的分享了上線部署所需要的所有設(shè)計。

與市面上其他插件框架相比,Shadow主要具有以下特點:

  • 復用獨立安裝App的源碼:插件App的源碼原本就是可以正常安裝運行的。
  • 零反射無Hack實現(xiàn)插件技術(shù):從理論上就已經(jīng)確定無需對任何系統(tǒng)做兼容開發(fā),更無任何隱藏API調(diào)用,和Google限制非公開SDK接口訪問的策略完全不沖突。
  • 全動態(tài)插件框架:一次性實現(xiàn)完美的插件框架很難,但Shadow將這些實現(xiàn)全部動態(tài)化起來,使插件框架的代碼成為了插件的一部分。插件的迭代不再受宿主打包了舊版本插件框架所限制。
  • 宿主增量極小:得益于全動態(tài)實現(xiàn),真正合入宿主程序的代碼量極小(15KB,160方法數(shù)左右)。
  • Kotlin實現(xiàn):core.loader,core.transform核心代碼完全用Kotlin實現(xiàn),代碼簡潔易維護。

支持特性

  • 四大組件
  • Fragment(代碼添加和Xml添加)
  • DataBinding(無需特別支持,但已驗證可正常工作)
  • 跨進程使用插件Service
  • 自定義Theme
  • 插件訪問宿主類
  • So加載
  • 分段加載插件(多Apk分別加載或多Apk以此依賴加載)
  • 一個Activity中加載多個Apk中的View
  • 等等……

編譯與開發(fā)環(huán)境

環(huán)境準備

第一次clone Shadow的代碼到本地后,建議先在命令行編譯一次。

  • 在編譯前,必須設(shè)置ANDROID_HOME環(huán)境變量。
  • 在編譯時,必須使用gradlew腳本,以保證采用了項目配置的Gradle版本。

在命令行測試編譯時可以執(zhí)行這個任務(wù):

./gradlew build

如果沒有出錯,再嘗試用Android Studio打開工程。

  • 必須使用3.4或更高版本的Android Studio打開工程。(業(yè)務(wù)插件開發(fā)時沒有限制)
  • 必須關(guān)閉Android Studio的Instant Run功能。

然后就可以在IDE中選擇sample-host模塊直接運行了。

?

Shadow的所有代碼都位于projects目錄下的3個目錄,分別是:

  • sdk包含SDK的所有代碼
  • test包含SDK的自動化測試代碼
  • sample包含演示代碼

其中sample應(yīng)該是大家體驗Shadow的最佳環(huán)境。 詳見sample目錄中的README介紹。

自己寫的測試代碼出錯?

以我們多年的插件環(huán)境下業(yè)務(wù)開發(fā)經(jīng)驗,插件框架是不可能一步到位實現(xiàn)完美的。 因此,我們相信大部分業(yè)務(wù)在接入時都是需要一定的二次開發(fā)工作。 Shadow現(xiàn)有的代碼滿足的是我們自己的業(yè)務(wù)現(xiàn)在的需求。得益于全動態(tài)的設(shè)計, 插件框架和插件本身都是動態(tài)發(fā)布的,插件包里既有插件代碼也有插件框架代碼, 所以可以根據(jù)新版本插件的需要同時開發(fā)插件框架。

例如,ShadowActivity沒有實現(xiàn)全所有Activity方法,你寫的測試代碼可能用到了, 就會出現(xiàn)Method Not Found錯誤,只需要在ShadowActivity中實現(xiàn)對應(yīng)方法就可以了。 大部分方法的實現(xiàn)都只是需要簡單的轉(zhuǎn)調(diào)就能工作正常。

如果遇到不會實現(xiàn)的功能,可以提Issue。最好附上測試代碼。

后續(xù)開發(fā)

  • 原理與設(shè)計說明文檔
  • 多插件支持的演示工程
  • 自動化測試用例補充
  • 開源包含下載能力的manager實現(xiàn)
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費