[發明專利]一種基于Gradle的插件打包的方法及裝置有效
| 申請號: | 201711432107.3 | 申請日: | 2017-12-26 |
| 公開(公告)號: | CN108052314B | 公開(公告)日: | 2020-05-01 |
| 發明(設計)人: | 梁志濤 | 申請(專利權)人: | 無線生活(杭州)信息科技有限公司 |
| 主分類號: | G06F8/20 | 分類號: | G06F8/20;G06F8/41 |
| 代理公司: | 北京尚倫律師事務所 11477 | 代理人: | 張俊國;龐鵬飛 |
| 地址: | 310000 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 gradle 插件 打包 方法 裝置 | ||
本發明公開了一種基于Gradle的插件打包的方法及裝置。所述基于Gradle的插件打包的方法,包括:通過項目對象模型管理項目涉及到的所有的類;聲明所述宿主相關的所有插件的類之間的相互依賴;將所述宿主相關的所有插件的信息匯總到所述宿主中;在編譯期,自動合并所述宿主相關的所有插件相關的AndroidManifest,以便增加系統的魯棒性。本發明通過自定義安卓Gradl的構建流程,實現插件化項目里各個插件和宿主的完全自動化打包,可以較低的系統開銷實現打包宿主和宿主相關的所有插件中的各種類的技術目的,更加的契合插件化并行開發,極大的降低了開發人員的工作量和提升了開發人員在開發工作方面的便捷度。
技術領域
本發明涉及插件處理技術領域,特別涉及一種基于Gradle的插件打包的方法及裝置。
背景技術
業界當前普遍的技方案為完全分離插件和宿主,分別使用人工導出API、解決依賴、手動拷貝插件包等方式完成插件和宿主的打包,宿主和宿主的各種插件是完全處于割裂混亂的?,F有的安卓編程中打包無法做到完全自動化,宿主與插件的幾乎所有編譯期交互都需要人工干預。由于缺乏與系統默認的構建的完美契合,要求相關的開發人員必須掌握諸多與他們實際開發無關的技術細節,極其影響開發效率?,F有的安卓插件化技術雖然已經廣泛使用而且技術成熟度高,但是與現有的安卓插件化技術配套的插件打包的技術方案存在嚴重的不足之處。如何妥善的解決上述問題,就成為了業界亟待解決的課題。
發明內容
本發明提供一種基于Gradle的插件打包的方法及裝置,用以通過自定義安卓Gradl的構建流程,實現插件化項目里各個插件和宿主的完全自動化打包,可以較低的系統開銷實現打包宿主和宿主相關的所有插件中的各種類的技術目的,更加的契合插件化并行開發,極大的降低了開發人員的工作量和提升了開發人員的開發工作的便捷度。
根據本發明實施例的第一方面,提供一種基于Gradle的插件打包的方法,包括:
通過項目對象模型管理項目涉及到的所有的類;
聲明所述宿主相關的所有插件的類之間的相互依賴;
將所述宿主相關的所有插件的信息匯總到所述宿主中;
在編譯期,自動合并所述宿主相關的所有插件相關的AndroidManifest,以便增加系統的魯棒性。
在一個實施例中,所述通過項目對象模型管理項目涉及到的所有的類,包括:
分析出所述項目的宿主和與所述宿主相關的所有的插件;
注解出所述宿主和所述宿主相關的所有插件的類;
將所述宿主和所述宿主相關的所有插件的類上傳到項目對象模型。
在一個實施例中,所述通過Gradle聲明所述宿主相關的所有插件的類之間的相互依賴,包括:
在編譯期,通過Gradle聲明所述宿主相關的所有插件的類之間的相互依賴;
在運行期,在AndroidManifest中聲明以預設的規則對構造過程進行改造,以達到在編譯期時可自動添加運行期的所有插件的類之間的相互依賴到所述AndroidManifest中。
在一個實施例中,所述將所述宿主相關的所有插件的信息匯總到所述宿主中,包括:
在編譯期,自動收集所述宿主相關的所有插件的信息;
將自動收集到的所述宿主相關的所有插件的信息匯總到所述宿主中,以供在運行期讀取所述宿主相關的所有插件的信息。
在一個實施例中,還包括:
在編譯構建時,對安卓四大組件進行注入預設的注入代碼,以克服所述安卓四大組件在繼承方面的限制。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于無線生活(杭州)信息科技有限公司,未經無線生活(杭州)信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711432107.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:吳茱萸的種植方法
- 下一篇:一種PCB自動回焊設備





