1.一種加載應(yīng)用程序的APK插件的方法,其特征在于,包括:
判斷所述應(yīng)用程序是否需要加載APK插件,所述APK插件為未在應(yīng)用程序所在平臺(tái)上安裝的插件;
當(dāng)需要加載APK插件時(shí),生成ClassLoader類加載器的對(duì)象;
根據(jù)生成的所述類加載器的對(duì)象設(shè)置所述應(yīng)用程序的調(diào)用插件活動(dòng)組件類的子類的實(shí)例Context;
將所述實(shí)例Context賦值給所述APK插件中插件活動(dòng)組件類的子類的實(shí)例中,以實(shí)現(xiàn)對(duì)應(yīng)用程序的APK插件的加載。
2.如權(quán)利要求1所述的方法,其特征在于,在將所述實(shí)例Context賦值給所述APK插件中插件活動(dòng)組件類的子類的實(shí)例中后,所述方法還包括:
判斷所述插件活動(dòng)組件類的子類的實(shí)例是否為空;
當(dāng)為空時(shí),則繼續(xù)執(zhí)行將所述實(shí)例Context賦值給所述APK插件中插件活動(dòng)組件類的子類的實(shí)例中的步驟;
當(dāng)不為空時(shí),則生成成功加載所述APK插件的提示信息。
3.如權(quán)利要求1所述的方法,其特征在于,在生成ClassLoader類加載器的對(duì)象之前,所述方法還包括:
收集所述應(yīng)用程序所在平臺(tái)的信息,并將所述信息發(fā)送到云端服務(wù)器,以便云端服務(wù)器根據(jù)所述信息匹配與所述信息相適應(yīng)的APK插件,并將所述相適應(yīng)的APK插件或所述APK插件的下載地址返回給所述應(yīng)用程序所在平臺(tái)。
4.如權(quán)利要求3所述的方法,其特征在于,在所述應(yīng)用程序所在平臺(tái)獲得所述APK插件后,所述方法還包括對(duì)所述APK插件按照下述步驟進(jìn)行合法性鑒權(quán):
獲取所述APK插件的PackageInfo包信息類;
根據(jù)PackageInfo包信息類獲取Signature簽名對(duì)象,并確定Signature簽名對(duì)象的MD5值;
對(duì)比所述MD5值與合法簽名是否一致。
5.如權(quán)利要求3所述的方法,其特征在于,收集所述應(yīng)用程序所在平臺(tái)的信息,具體包括收集
應(yīng)用程序所在平臺(tái)終端的廠商信息、終端型號(hào)信息和/或所述應(yīng)用程序所在平臺(tái)安裝的操作系統(tǒng)的版本信息。
6.一種加載應(yīng)用程序的APK插件的裝置,其特征在于,包括:判斷單元、生成單元、設(shè)置單元以及賦值單元,其中,
所述判斷單元,用于判斷判斷所述應(yīng)用程序是否需要加載APK插件,所述APK插件為未在應(yīng)用程序所在平臺(tái)上安裝的插件;
所述生成單元,用于當(dāng)需要加載APK插件時(shí),生成ClassLoader類加載器的對(duì)象;
所述設(shè)置單元,用于根據(jù)生成的所述類加載器對(duì)象設(shè)置所述應(yīng)用程序的調(diào)用插件活動(dòng)組件類的子類的實(shí)例Context;
所述賦值單元,用于將所述實(shí)例Context賦值給所述APK插件中插件活動(dòng)組件類的子類的實(shí)例中,以實(shí)現(xiàn)對(duì)應(yīng)用程序的APK插件的加載。
7.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括驗(yàn)證單元,具體用于:在將所述實(shí)例Context賦值給所述APK插件中插件活動(dòng)組件類的子類的實(shí)例中后,
判斷所述插件活動(dòng)組件類的子類的實(shí)例pluginActivity是否為空;
當(dāng)為空時(shí),則繼續(xù)執(zhí)行將所述實(shí)例Context賦值給所述APK插件中插件活動(dòng)組件類的子類的實(shí)例中的步驟;
當(dāng)不為空時(shí),則生成成功加載所述APK插件的提示消息。
8.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括適配單元,具體用于:在生成ClassLoader類加載器的對(duì)象之前,
收集所述應(yīng)用程序所在平臺(tái)的信息,并將所述信息發(fā)送到云端服務(wù)器,以便云端服務(wù)器根據(jù)所述信息匹配與所述信息相適應(yīng)的APK插件,并將所述相適應(yīng)的APK插件或所述APK插件的下載地址返回給所述應(yīng)用程序所在平臺(tái)。
9.如權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括鑒權(quán)單元,具體用于:在所述應(yīng)用程序所在平臺(tái)獲得所述APK插件后,
對(duì)所述APK插件按照下述步驟進(jìn)行合法性鑒權(quán),包括:
獲取所述APK插件的PackageInfo包信息類;
根據(jù)PackageInfo包信息類獲取Signature簽名對(duì)象,并確定Signature簽名對(duì)象的MD5值;
對(duì)比所述MD5值與合法簽名是否一致。
10.如權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括收集單元,具體用于:收集
應(yīng)用程序所在平臺(tái)終端的廠商信息、終端型號(hào)信息和/或所述應(yīng)用程序所在平臺(tái)安裝的操作系統(tǒng)的版本信息。