[發明專利]程序更新方法、程序運行方法及裝置有效
| 申請號: | 201710567579.3 | 申請日: | 2017-07-12 |
| 公開(公告)號: | CN107273142B | 公開(公告)日: | 2021-04-23 |
| 發明(設計)人: | 聶俊鴻;張菊元 | 申請(專利權)人: | 北京龍之心科技有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65;G06F8/71 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 北京市順義區天竺*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序 更新 方法 運行 裝置 | ||
1.一種程序更新方法,其特征在于,包括:
獲取插件程序;其中,所述插件程序基于公共庫提供的相應功能組件編譯獲得;所述公共庫安裝于宿主程序,所述公共庫中包含基本的網絡、緩存以及UI框架,用于提供各個功能組件基本的能力,宿主程序通過調用公共庫中的相應功能組件執行相應處理操作;
下發所述插件程序至宿主程序,以供所述宿主程序安裝所述插件程序;基于插件調用指令利用所述插件程序調用所述公共庫中的相應功能組件執行處理操作,插件程序可以直接調用宿主程序中的公共庫中的相應功能組件執行對應的處理操作,該相應功能組件為編譯插件程序時所需的功能組件,編譯獲得的插件程序中不包括公共庫代碼,被調用使用時,直接利用安裝于宿主程序中的公共庫執行處理操作,所述插件程序在服務端檢測到存在插件程序更新后,將所述插件程序推送至宿主程序,或接收宿主程序的更新請求后將所述插件程序發送至所述宿主程序,所述宿主程序接收到所述插件程序后,將所述插件程序安裝在宿主程序中;其中
公共庫代碼按照混淆規則混淆之后安裝于所述宿主程序;
混淆初始程序,以獲得所述插件程序可以包括:
按照所述混淆規則,混淆所述初始程序,以獲得所述插件程序;
在對宿主程序和公共庫代碼按照混淆規則進行混淆后,為了保證插件程序可以正常調用所述宿主程序中的公共庫代碼,在服務端基于所述公共庫代碼編譯獲得初始程序后,可以按照與混淆公共庫代碼相同的混淆規則對所述初始程序進行混淆;
下發所述插件程序至宿主程序,以供所述宿主程序安裝所述插件程序;基于插件調用指令,利用所述插件程序調用所述公共庫中的相應功能組件執行處理操作;
所述基于公共庫代碼編譯獲得的初始程序中包含有全部的公共庫代碼,宿主程序中安裝有按照混淆規則混淆之后的公共庫代碼;
按照所述混淆規則,混淆所述初始程序中所述公共庫代碼,獲得第一混淆程序,其中,宿主程序中的公共庫可以被不同插件程序使用,公共庫代碼是按照混淆規則經過混淆之后安裝于宿主程序中,在對公共庫代碼混淆過程中對插件程序與公共庫代碼之間的調用關系進行修改,使得插件程序直接調用混淆后的公共庫代碼;
將所述公共庫代碼打包為第一文件包,以及將插件功能代碼打包為第二文件包;
通過拆包工具multidex對所述第一混淆程序進行分包;
所述將所述公共庫代碼打包為第一文件包,以及將所述插件功能代碼打包為第二文件包包括:
掃描所述第一混淆程序,以識別所述插件功能代碼;
將所述插件功能代碼打包為第二文件包,以及將所述公共庫代碼打包為第一文件包;
通過腳本程序對所述第一混淆程序中的插件功能代碼目錄進行掃描,識別出插件功能代碼和公共庫代碼,然后將所述第一混淆程序中公共庫代碼打包為第一文件包,并將所述插件功能代碼打包為第二文件包,并刪除所述第一文件包獲得僅包含插件功能代碼的第二文件包;
利用所述第二文件包,獲得所述插件程序;在編譯所述初始程序后會對初始程序進行簽名,通過將第二文件包壓縮為安卓系統可以應用的安卓包,并對所述安卓包進行重新簽名,獲得所述插件程序;
下發所述插件程序至宿主程序,以供所述宿主程序安裝所述插件程序;基于插件調用指令,利用所述插件程序調用所述公共庫中的相應功能組件執行處理操作。
2.根據權利要求1所述的方法,其特征在于,所述獲取插件程序包括:
獲取所述公共庫的公共庫代碼;
基于所述公共庫代碼,編譯獲得初始程序;
混淆所述初始程序,以獲得所述插件程序。
3.根據權利要求2所述的方法,其特征在于,所述公共庫代碼按照混淆規則混淆之后安裝于所述宿主程序;
所述混淆所述初始程序,以獲得所述插件程序包括:
按照所述混淆規則,混淆所述初始程序,以獲得所述插件程序。
4.根據權利要求3所述的方法,其特征在于,所述按照所述混淆規則,混淆所述初始程序,以獲得所述插件程序包括:
按照所述混淆規則,混淆所述初始程序中所述公共庫代碼,獲得第一混淆程序;
將所述公共庫代碼打包為第一文件包,以及將所述插件功能代碼打包為第二文件包;
刪除所述第一文件包;
利用所述第二文件包,獲得所述插件程序。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京龍之心科技有限公司,未經北京龍之心科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710567579.3/1.html,轉載請聲明來源鉆瓜專利網。





