1.一種應(yīng)用程序優(yōu)化方法,其特征在于,包括:
獲取待優(yōu)化的適用于移動終端的應(yīng)用程序安裝包,從所述應(yīng)用程序安裝包中獲取用于應(yīng)用程序安裝的可執(zhí)行文件;
將預(yù)先生成的用于承載自定義代碼工具的動態(tài)庫,注入到所述可執(zhí)行文件中;
在所述可執(zhí)行文件中嵌入用于替換原描述文件的新描述文件;
對包含所述動態(tài)庫和所述新描述文件的可執(zhí)行文件進(jìn)行重新簽名;
將重新簽名后的可執(zhí)行文件進(jìn)行打包,得到優(yōu)化后的應(yīng)用程序安裝包;所述優(yōu)化后的應(yīng)用程序安裝包用于在移動終端上安裝優(yōu)化后的應(yīng)用程序。
2.如權(quán)利要求1所述的方法,其特征在于,所述將預(yù)先生成的用于承載自定義代碼工具的動態(tài)庫,注入到所述可執(zhí)行文件中,具體包括:
根據(jù)動態(tài)庫的存儲路徑,獲取預(yù)先生成的用于承載自定義代碼工具的動態(tài)庫;
根據(jù)可執(zhí)行文件的存儲路徑,使用命令庫中加載類的加載動態(tài)庫命令,將獲取的所述動態(tài)庫注入到可執(zhí)行文件的存儲路徑下的可執(zhí)行文件中。
3.如權(quán)利要求1所述的方法,其特征在于,在所述可執(zhí)行文件中嵌入用于替換原描述文件的新描述文件,具體包括:
創(chuàng)建包括新開發(fā)證書、可安裝設(shè)備信息、應(yīng)用程序標(biāo)識APPID的新描述文件;
用創(chuàng)建的新描述文件替換可執(zhí)行文件的存儲路徑下的原描述文件。
4.如權(quán)利要求1所述的方法,其特征在于,對包含所述動態(tài)庫和所述新描述文件的可執(zhí)行文件進(jìn)行重新簽名,具體包括:
讀取應(yīng)用程序信息文件,獲取應(yīng)用程序的唯一標(biāo)識串bundleID和新開發(fā)證書的組標(biāo)識taemID;
構(gòu)造一個以應(yīng)用唯一標(biāo)識application-identifier和開發(fā)團(tuán)隊標(biāo)識com.apple.developer.team-identifier為鍵,以bundleID和teamID為值的字典;
將構(gòu)造的字典寫入代碼簽名文件中;
使用簽名命令對代碼簽名文件進(jìn)行重新簽名,完成對可執(zhí)行文件的重新簽名。
5.如權(quán)利要求1-4任一所述的方法,其特征在于,在個人計算機(jī)上使用集成開發(fā)工具Xcode創(chuàng)建所述動態(tài)庫。
6.一種應(yīng)用程序優(yōu)化裝置,其特征在于,包括:
獲取模塊,用于獲取待優(yōu)化的適用于移動終端的應(yīng)用程序安裝包,從所述應(yīng)用程序安裝包中獲取用于應(yīng)用程序安裝的可執(zhí)行文件;
注入模塊,用于將預(yù)先生成的用于承載自定義代碼工具的動態(tài)庫,注入到所述可執(zhí)行文件中;
替換模塊,用于在所述可執(zhí)行文件中嵌入用于替換原描述文件的新描述文件;
簽名模塊,用于對包含所述動態(tài)庫和所述新描述文件的可執(zhí)行文件進(jìn)行重新簽名;
打包模塊,用于將重新簽名后的可執(zhí)行文件進(jìn)行打包,得到優(yōu)化后的應(yīng)用程序安裝包;所述優(yōu)化后的應(yīng)用程序安裝包用于在移動終端上安裝優(yōu)化后的應(yīng)用程序。
7.如權(quán)利要求6所述的裝置,其特征在于,所述注入模塊,具體用于:
根據(jù)動態(tài)庫的存儲路徑,獲取預(yù)先生成的用于承載自定義代碼工具的動態(tài)庫;
根據(jù)可執(zhí)行文件的存儲路徑,使用命令庫中加載類的加載動態(tài)庫命令,將獲取的所述動態(tài)庫注入到可執(zhí)行文件的存儲路徑下的可執(zhí)行文件中。
8.如權(quán)利要求6所述的裝置,其特征在于,所述替換模塊,具體用于:
創(chuàng)建包括新開發(fā)證書、可安裝設(shè)備信息、應(yīng)用程序標(biāo)識APPID的新描述文件;
用創(chuàng)建的新描述文件替換可執(zhí)行文件的存儲路徑下的原描述文件。
9.如權(quán)利要求6所述的裝置,其特征在于,所述簽名模塊,具體用于:
讀取應(yīng)用程序信息文件,獲取應(yīng)用程序的唯一標(biāo)識串bundleID和新開發(fā)證書的組標(biāo)識taemID;
構(gòu)造一個以應(yīng)用唯一標(biāo)識application-identifier和開發(fā)團(tuán)隊標(biāo)識com.apple.developer.team-identifier為鍵,以bundleID和teamID為值的字典;
將構(gòu)造的字典寫入代碼簽名文件文件中;
使用簽名命令對代碼簽名文件進(jìn)行重新簽名,完成對可執(zhí)行文件的重新簽名。
10.一種應(yīng)用程序優(yōu)化系統(tǒng),其特征在于,包括:移動終端和個人計算機(jī);
所述個人計算機(jī)中包括如權(quán)利要求6-9任一所述的應(yīng)用程序優(yōu)化裝置;
所述移動終端,用于安裝所述優(yōu)化后的應(yīng)用程序安裝包。