本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及應(yīng)用程序開發(fā)方法、應(yīng)用程序開發(fā)裝置、應(yīng)用程序開發(fā)設(shè)備以及應(yīng)用程序開發(fā)架構(gòu)。
背景技術(shù):
現(xiàn)有技術(shù)中,當(dāng)開發(fā)商拿到第三方技術(shù)人員開發(fā)的應(yīng)用程序后,需要將該應(yīng)用程序適配到自身的硬件平臺,以實(shí)現(xiàn)硬件接入時,開發(fā)流程復(fù)雜,工作量巨大。
以基于linux的自由及開放源代碼的操作系統(tǒng)(例如android安卓操作系統(tǒng))為例,開發(fā)商需要對android底層系統(tǒng)進(jìn)行大量的裁剪和移植,以實(shí)現(xiàn)硬件接入;而且,當(dāng)有需要適配多個應(yīng)用平臺時,需要針對各個應(yīng)用平臺分別進(jìn)行android底層系統(tǒng)的裁剪和移植,再者當(dāng)該應(yīng)用程序有更新時,開發(fā)商往往也需要同步調(diào)整android的底層系統(tǒng),增加了大量的android系統(tǒng)的植入工作,開發(fā)效率低,開發(fā)成本高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種應(yīng)用程序開發(fā)方法、應(yīng)用程序開發(fā)裝置、應(yīng)用程序開發(fā)設(shè)備以及應(yīng)用程序開發(fā)架構(gòu),解決了現(xiàn)有技術(shù)中開發(fā)商需要對android底層系統(tǒng)進(jìn)行大量的裁剪和移植,開發(fā)效率低,開發(fā)成本高的技術(shù)問題,提高了開發(fā)效率。
為了解決上述技術(shù)問題,本發(fā)明實(shí)施例第一方面公開了一種應(yīng)用程序開發(fā)方法,包括:
獲取目標(biāo)應(yīng)用框架和所述目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息;所述多個第三方應(yīng)用程序運(yùn)行在所述目標(biāo)應(yīng)用框架上;
根據(jù)所述目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序;所述接入應(yīng)用程序用于運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上,以實(shí)現(xiàn)所述目標(biāo)硬件與所述多個第三方應(yīng)用程序的交互。
結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序,包括:
根據(jù)所述接口信息生成目標(biāo)代碼,所述目標(biāo)代碼用于基于所述第三方應(yīng)用程序的接口信息接收并解析從所述目標(biāo)硬件輸入的操作信息,將所述操作信息返回給所述第三方應(yīng)用程序,或者接收并解析所述第三方應(yīng)用程序的控制指令,基于所述第三方應(yīng)用程序的接口信息根據(jù)所述控制指令驅(qū)動目標(biāo)硬件并執(zhí)行操作;
將所述目標(biāo)代碼和所述目標(biāo)應(yīng)用框架打包生成針對所述目標(biāo)硬件的接入安裝包;所述接入安裝包用于安裝在所述目標(biāo)硬件的操作系統(tǒng)上。
結(jié)合第一方面,在第二種可能的實(shí)現(xiàn)方式中,所述目標(biāo)硬件包括車載終端;所述車載終端包括以下至少一項(xiàng):
藍(lán)牙模塊、音頻模塊、視頻模塊、觸控屏、汽車總線、收音機(jī)、汽車方向控制盤的按鍵模塊、車載終端面板的按鍵模塊。
本發(fā)明實(shí)施例第二方面公開了一種應(yīng)用程序開發(fā)方法,包括:
生成目標(biāo)應(yīng)用框架和所述目標(biāo)應(yīng)用框架對應(yīng)的多個應(yīng)用程序的接口信息;所述多個應(yīng)用程序運(yùn)行在所述目標(biāo)應(yīng)用框架上;
將所述目標(biāo)應(yīng)用框架和所述接口信息發(fā)送給第三方開發(fā)商,以使所述第三方開發(fā)商根據(jù)所述接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序;所述接入應(yīng)用程序用于運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上,以實(shí)現(xiàn)所述目標(biāo)硬件與所述多個應(yīng)用程序的交互。
本發(fā)明實(shí)施例第三方面公開了一種應(yīng)用程序開發(fā)裝置,包括:
獲取模塊,用于獲取目標(biāo)應(yīng)用框架和所述目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息;所述多個第三方應(yīng)用程序運(yùn)行在所述目標(biāo)應(yīng)用框架上;
應(yīng)用程序生成模塊,用于根據(jù)所述目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序;所述接入應(yīng)用程序用于運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上,以實(shí)現(xiàn)所述目標(biāo)硬件與所述多個第三方應(yīng)用程序的交互。
結(jié)合第三方面,在第一種可能的實(shí)現(xiàn)方式中,所述應(yīng)用程序生成模塊包括:
目標(biāo)代碼生成單元,用于根據(jù)所述接口信息生成目標(biāo)代碼,所述目標(biāo)代碼 用于接收并解析從所述目標(biāo)硬件輸入的操作信息,將所述操作信息返回給所述第三方應(yīng)用程序,或者接收并解析所述第三方應(yīng)用程序的控制指令,根據(jù)所述控制指令驅(qū)動目標(biāo)硬件并執(zhí)行操作;
打包生成單元,用于將所述目標(biāo)代碼和所述目標(biāo)應(yīng)用框架打包生成針對所述目標(biāo)硬件的接入安裝包;所述接入安裝包用于安裝在所述目標(biāo)硬件的操作系統(tǒng)上。
結(jié)合第三方面,在第二種可能的實(shí)現(xiàn)方式中,所述目標(biāo)硬件包括車載終端;所述車載終端包括以下至少一項(xiàng):
藍(lán)牙模塊、音頻模塊、視頻模塊、觸控屏、汽車總線、收音機(jī)、汽車方向控制盤的按鍵模塊、車載終端面板的按鍵模塊。
本發(fā)明實(shí)施例第四方面公開了一種應(yīng)用程序開發(fā)設(shè)備,包括:
生成模塊,用于生成目標(biāo)應(yīng)用框架和所述目標(biāo)應(yīng)用框架對應(yīng)的多個應(yīng)用程序的接口信息;所述多個應(yīng)用程序運(yùn)行在所述目標(biāo)應(yīng)用框架上;
發(fā)送模塊,用于將所述目標(biāo)應(yīng)用框架和所述接口信息發(fā)送給第三方開發(fā)商,以使所述第三方開發(fā)商根據(jù)所述接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序;所述接入應(yīng)用程序用于運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上,以實(shí)現(xiàn)所述目標(biāo)硬件與所述多個應(yīng)用程序的交互。
本發(fā)明實(shí)施例第五方面公開了一種應(yīng)用程序開發(fā)架構(gòu),包括應(yīng)用程序?qū)?、操作系統(tǒng)應(yīng)用框架、系統(tǒng)運(yùn)行庫和內(nèi)核層,所述架構(gòu)還包括目標(biāo)應(yīng)用框架和目標(biāo)硬件中間件;其中,
所述應(yīng)用程序?qū)影ǘ鄠€應(yīng)用程序;
所述目標(biāo)應(yīng)用框架對應(yīng)有所述多個應(yīng)用程序的接口信息,以實(shí)現(xiàn)所述目標(biāo)硬件中間件與所述多個應(yīng)用程序的交互;所述多個應(yīng)用程序運(yùn)行在所述目標(biāo)應(yīng)用框架上。
結(jié)合第五方面,在第二種可能的實(shí)現(xiàn)方式中,所述目標(biāo)應(yīng)用框架具體用于所述應(yīng)用程序的接口信息接收并解析從所述目標(biāo)硬件中間件輸入的操作信息,將所述操作信息返回給所述應(yīng)用程序,或者接收并解析所述應(yīng)用程序的控制指令,基于所述應(yīng)用程序的接口信息根據(jù)所述控制指令控制所述目標(biāo)硬件中間件驅(qū)動目標(biāo)硬件并執(zhí)行操作。
本發(fā)明實(shí)施例第六方面公開了一種計(jì)算機(jī)存儲介質(zhì),所述計(jì)算機(jī)存儲介質(zhì) 存儲有程序,所述程序執(zhí)行時包括本發(fā)明實(shí)施例第一方面、或者第一方面的第一種可能的實(shí)現(xiàn)方式,或者第一方面的第二種可能的實(shí)現(xiàn)方式,或者第二方面中的應(yīng)用程序開發(fā)方法的全部步驟。
實(shí)施本發(fā)明實(shí)施例,通過根據(jù)目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序,該多個第三方應(yīng)用程序運(yùn)行在該目標(biāo)應(yīng)用框架上,該接入應(yīng)用程序運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上即可實(shí)現(xiàn)目標(biāo)硬件與多個第三方應(yīng)用程序的交互,開發(fā)商無需對操作系統(tǒng)的底層進(jìn)行大量的裁剪和移植,解決了現(xiàn)有技術(shù)中開發(fā)商需要對底層系統(tǒng)進(jìn)行大量的裁剪和移植,開發(fā)效率低,開發(fā)成本高的技術(shù)問題,大大減少了系統(tǒng)的植入工作,提高了開發(fā)效率,降低了開發(fā)成本。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)的系統(tǒng)構(gòu)架示意圖;
圖2是本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)方法的流程示意圖;
圖3是本發(fā)明提供的應(yīng)用程序開發(fā)方法的另一實(shí)施例的流程示意圖;
圖4是本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)架構(gòu)的示意圖;
圖5是本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)裝置的結(jié)構(gòu)示意圖;
圖6是本發(fā)明實(shí)施例提供的應(yīng)用程序生成模塊的結(jié)構(gòu)示意圖;
圖7是本發(fā)明提供的應(yīng)用程序開發(fā)裝置的另一實(shí)施例的結(jié)構(gòu)示意圖;
圖8是本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)設(shè)備的結(jié)構(gòu)示意圖;
圖9是本發(fā)明提供的應(yīng)用程序開發(fā)設(shè)備的另一實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造 性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為了更好理解本發(fā)明實(shí)施例公開的一種應(yīng)用程序開發(fā)方法、應(yīng)用程序開發(fā)裝置、應(yīng)用程序開發(fā)設(shè)備以及應(yīng)用程序開發(fā)架構(gòu),下面先對本發(fā)明實(shí)施例適用的系統(tǒng)構(gòu)架進(jìn)行描述。請參閱圖1,圖1是本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)的系統(tǒng)構(gòu)架示意圖。如圖1所示,該系統(tǒng)構(gòu)架示意圖可以包括應(yīng)用程序開發(fā)設(shè)備、開發(fā)商以及目標(biāo)硬件,其中,應(yīng)用程序開發(fā)設(shè)備開發(fā)出多個應(yīng)用程序,開發(fā)商可以通過互聯(lián)網(wǎng)等方式拿到該多個應(yīng)用程序后(即拿到了多個第三方應(yīng)用程序)進(jìn)行開發(fā),以實(shí)現(xiàn)針對目標(biāo)硬件的接入,以使該目標(biāo)硬件可以運(yùn)行該多個應(yīng)用程序。該應(yīng)用程序開發(fā)設(shè)備和開發(fā)商都可以為用于軟件開發(fā)的計(jì)算機(jī),該目標(biāo)硬件可以包括但不限于車載終端、智能電視、智能手表、智能眼鏡、智能手環(huán)等硬件。通過本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)方法,開發(fā)商在開發(fā)實(shí)現(xiàn)多個應(yīng)用平臺的適配,以使該目標(biāo)硬件可以運(yùn)行該多個應(yīng)用程序,可以大大減少了系統(tǒng)的植入工作,提高了開發(fā)效率,降低了開發(fā)成本。
下面結(jié)合附圖詳細(xì)說明本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)方法、裝置、設(shè)備以及開發(fā)架構(gòu):
參見圖2,是本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)方法的流程示意圖,先從開發(fā)商側(cè)來描述,該方法可以包括:
步驟s200:獲取目標(biāo)應(yīng)用框架和所述目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息;所述多個第三方應(yīng)用程序運(yùn)行在所述目標(biāo)應(yīng)用框架上;
具體地,相對于開發(fā)商而言,應(yīng)用程序開發(fā)者開發(fā)出多個第三方應(yīng)用程序,可以包括桌面、導(dǎo)航、聽服務(wù)、社交、語音、電話等基礎(chǔ)應(yīng)用,同時開發(fā)出目標(biāo)應(yīng)用框架,并提供該目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息,該多個第三方應(yīng)用程序運(yùn)行在該目標(biāo)應(yīng)用框架上。開發(fā)商可以通過連接互聯(lián)網(wǎng)下載獲取該目標(biāo)應(yīng)用框架和該目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息。
需要說明的是,本發(fā)明實(shí)施例中獲取該目標(biāo)應(yīng)用框架和該目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息的方式不限于通過連接互聯(lián)網(wǎng)下載,還可以通過數(shù)據(jù)線傳播等方式來獲取,本發(fā)明實(shí)施例不作限制。
步驟s202:根據(jù)所述目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序;所述接入應(yīng)用程序用于運(yùn)行在所述目標(biāo)硬 件的操作系統(tǒng)上,以實(shí)現(xiàn)所述目標(biāo)硬件與所述多個第三方應(yīng)用程序的交互。
具體地,本發(fā)明實(shí)施例中的接口信息可以為該目標(biāo)應(yīng)用框架對應(yīng)的軟件開發(fā)工具包(softwaredevelopmentkit,sdk),包括各個第三方應(yīng)用程序的應(yīng)用程序編程接口(applicationprogramminginterface,api)文檔,開發(fā)商可以通過計(jì)算機(jī)等設(shè)備進(jìn)行開發(fā),生成針對目標(biāo)硬件的接入應(yīng)用程序。也就是說,本發(fā)明實(shí)施例中的目標(biāo)應(yīng)用框架用于統(tǒng)一封裝該多個第三方應(yīng)用程序的接口,該接口信息用于實(shí)現(xiàn)接口;生成的該接入應(yīng)用程序通過該接口信息關(guān)聯(lián)目標(biāo)硬件的中間件與該多個第三方應(yīng)用程序,用于運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上,以實(shí)現(xiàn)所述目標(biāo)硬件與所述多個第三方應(yīng)用程序的交互。
需要說明的是,該目標(biāo)硬件的操作系統(tǒng)包括自身的系統(tǒng)應(yīng)用框架,而本發(fā)明實(shí)施例中的目標(biāo)應(yīng)用框架不同于該目標(biāo)硬件的操作系統(tǒng)自身的系統(tǒng)應(yīng)用框架,本發(fā)明實(shí)施例中的目標(biāo)應(yīng)用框架是隨著該接入應(yīng)用程序?qū)氲皆撃繕?biāo)硬件的操作系統(tǒng)自身的系統(tǒng)應(yīng)用框架中,例如可以通過.jar包的形式導(dǎo)入到系統(tǒng)應(yīng)用框架中。
進(jìn)一步地,步驟s202中根據(jù)所述目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序的步驟可以具體包括:
根據(jù)該接口信息生成目標(biāo)代碼,該目標(biāo)代碼用于基于該第三方應(yīng)用程序的接口信息接收并解析從該目標(biāo)硬件輸入的操作信息,將該操作信息返回給該第三方應(yīng)用程序,或者接收并解析該第三方應(yīng)用程序的控制指令,基于該第三方應(yīng)用程序的接口信息根據(jù)該控制指令驅(qū)動目標(biāo)硬件并執(zhí)行操作;將該目標(biāo)代碼和該目標(biāo)應(yīng)用框架打包生成針對該目標(biāo)硬件的接入安裝包;該接入安裝包用于安裝在該目標(biāo)硬件的操作系統(tǒng)上。
具體地,以該目標(biāo)硬件為車載終端為例進(jìn)行說明,車載終端可以包括車載終端面板的按鍵模塊,其中某按鍵為開啟收音機(jī)的功能按鍵;那么該目標(biāo)代碼用于通過第三方應(yīng)用程序中的收音機(jī)應(yīng)用對應(yīng)的接口信息接收并解析用戶點(diǎn)擊開啟收音機(jī)的功能按鍵的操作信息,獲知需要開啟收音機(jī)功能,然后將該操作信息返回給該收音機(jī)應(yīng)用,該收音機(jī)應(yīng)用出發(fā)開啟收音機(jī);開啟了收音機(jī)后,用戶在收聽廣播信息的過程中可以調(diào)節(jié)音量,例如通過滑動觸控屏上的虛擬音量控制條,那么該收音機(jī)應(yīng)用即獲取到用戶輸入的音量控制指令,并且該目標(biāo)代碼接收并解析出該音量控制指令,然后基于音量控制接口信息驅(qū)動音箱或揚(yáng) 聲器調(diào)節(jié)音量。
需要說明的是,本發(fā)明實(shí)施例中的車載終端可以包括以下至少一項(xiàng)硬件模塊:藍(lán)牙模塊、音頻模塊、視頻模塊、觸控屏、汽車總線、收音機(jī)、汽車方向控制盤的按鍵模塊、車載終端面板的按鍵模塊等等。
實(shí)施本發(fā)明實(shí)施例,通過根據(jù)目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序,該多個第三方應(yīng)用程序運(yùn)行在該目標(biāo)應(yīng)用框架上,該接入應(yīng)用程序運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上即可實(shí)現(xiàn)目標(biāo)硬件與多個第三方應(yīng)用程序的交互,開發(fā)商無需對操作系統(tǒng)的底層進(jìn)行大量的裁剪和移植,解決了現(xiàn)有技術(shù)中開發(fā)商需要對底層系統(tǒng)進(jìn)行大量的裁剪和移植,開發(fā)效率低,開發(fā)成本高的技術(shù)問題,大大減少了系統(tǒng)的植入工作,提高了開發(fā)效率,降低了開發(fā)成本。
下面結(jié)合圖3示出的本發(fā)明提供的應(yīng)用程序開發(fā)方法的另一實(shí)施例的流程示意圖,從應(yīng)用程序開發(fā)提供方側(cè)來描述,該方法可以包括:
步驟s300:生成目標(biāo)應(yīng)用框架和所述目標(biāo)應(yīng)用框架對應(yīng)的多個應(yīng)用程序的接口信息;所述多個應(yīng)用程序運(yùn)行在所述目標(biāo)應(yīng)用框架上;
具體地,應(yīng)用程序開發(fā)者可以通過計(jì)算機(jī)等開發(fā)設(shè)備開發(fā)多個應(yīng)用程序,可以包括桌面、導(dǎo)航、聽服務(wù)、社交、語音、電話等基礎(chǔ)應(yīng)用,同時開發(fā)生成目標(biāo)應(yīng)用框架,并提供該目標(biāo)應(yīng)用框架對應(yīng)的多個應(yīng)用程序的接口信息,該接口信息可以為該目標(biāo)應(yīng)用框架對應(yīng)的sdk,包括各個第三方應(yīng)用程序的api文檔,開發(fā)商可以通過計(jì)算機(jī)等設(shè)備進(jìn)行開發(fā),生成針對目標(biāo)硬件的接入應(yīng)用程序。
步驟s302:將所述目標(biāo)應(yīng)用框架和所述接口信息發(fā)送給第三方開發(fā)商,以使所述第三方開發(fā)商根據(jù)所述接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序;所述接入應(yīng)用程序用于運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上,以實(shí)現(xiàn)所述目標(biāo)硬件與所述多個應(yīng)用程序的交互。
具體地,當(dāng)接收到第三方開發(fā)商請求獲取目標(biāo)應(yīng)用框架的信息后,應(yīng)用程序開發(fā)提供方可以將該目標(biāo)應(yīng)用框架和該接口信息發(fā)送給第三方開發(fā)商;該第三方開發(fā)商獲取該目標(biāo)應(yīng)用框架和該接口信息,以及根據(jù)該接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序的過程,參見圖2實(shí)施例中的實(shí)現(xiàn)方式,這里不再贅 述。
下面相應(yīng)地,結(jié)合圖4示出的本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)架構(gòu)的示意圖,進(jìn)行說明:
該應(yīng)用程序開發(fā)架構(gòu),包括應(yīng)用程序?qū)印⒉僮飨到y(tǒng)應(yīng)用框架、系統(tǒng)運(yùn)行庫和內(nèi)核層,以及目標(biāo)應(yīng)用框架和目標(biāo)硬件中間件;其中,該應(yīng)用程序?qū)影ǘ鄠€應(yīng)用程序;該目標(biāo)應(yīng)用框架對應(yīng)有該多個應(yīng)用程序的接口信息,以實(shí)現(xiàn)該目標(biāo)硬件中間件與該多個應(yīng)用程序的交互;該多個應(yīng)用程序運(yùn)行在該目標(biāo)應(yīng)用框架上。
該目標(biāo)應(yīng)用框架具體用于該應(yīng)用程序的接口信息接收并解析從該目標(biāo)硬件中間件輸入的操作信息,將該操作信息返回給該應(yīng)用程序,或者接收并解析該應(yīng)用程序的控制指令,基于該應(yīng)用程序的接口信息根據(jù)該控制指令控制該目標(biāo)硬件中間件驅(qū)動目標(biāo)硬件并執(zhí)行操作。
可理解的是,該應(yīng)用程序?qū)舆€可以包括其他應(yīng)用程序,例如電子郵件客戶端、sms程序、日歷等;以安卓操作系統(tǒng)的開發(fā)架構(gòu)為例,操作系統(tǒng)應(yīng)用框架可以為安卓應(yīng)用框架(androidapplicationframework),通過提供開放的開發(fā)平臺,使開發(fā)方能夠編制極其豐富和新穎的應(yīng)用程序;系統(tǒng)運(yùn)行庫可以包括提供大部分在java編程語言核心類庫中可用的功能的核心庫的集合,以及供android系統(tǒng)的各個組件使用的c/c++庫的集合;內(nèi)核層基于linux提供核心系統(tǒng)服務(wù),例如:安全、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧、驅(qū)動模型。linux內(nèi)核也作為硬件和軟件之間的抽象層,它隱藏具體硬件細(xì)節(jié)而為上層提供統(tǒng)一的服務(wù)。
還需要說明的是,本發(fā)明實(shí)施例中的目標(biāo)應(yīng)用框架也可以與操作系統(tǒng)應(yīng)用框架交互,或?qū)氲皆摬僮飨到y(tǒng)應(yīng)用框架中,實(shí)現(xiàn)該目標(biāo)硬件中間件與該多個應(yīng)用程序的交互。目標(biāo)硬件以車載終端為例,本發(fā)明實(shí)施例中的目標(biāo)硬件中間件可以包括藍(lán)牙模塊、音頻模塊、視頻模塊、觸控屏、汽車總線、收音機(jī)、汽車方向控制盤的按鍵模塊、車載終端面板的按鍵模塊等等的驅(qū)動。
實(shí)施本發(fā)明實(shí)施例,通過根據(jù)目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序,該多個第三方應(yīng)用程序運(yùn)行在該目標(biāo)應(yīng)用框架上,該接入應(yīng)用程序運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上即可實(shí)現(xiàn) 目標(biāo)硬件與多個第三方應(yīng)用程序的交互,開發(fā)商無需對操作系統(tǒng)的底層進(jìn)行大量的裁剪和移植,解決了現(xiàn)有技術(shù)中開發(fā)商需要對底層系統(tǒng)進(jìn)行大量的裁剪和移植,開發(fā)效率低,開發(fā)成本高的技術(shù)問題,大大減少了系統(tǒng)的植入工作,提高了開發(fā)效率,降低了開發(fā)成本。
為了便于更好地實(shí)施本發(fā)明實(shí)施例的上述方案,本發(fā)明還對應(yīng)提供了一種應(yīng)用程序開發(fā)裝置,如圖5示出的本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)裝置的結(jié)構(gòu)示意圖,應(yīng)用程序開發(fā)裝置50可以包括:獲取模塊500和應(yīng)用程序生成模塊502,其中,
獲取模塊500用于獲取目標(biāo)應(yīng)用框架和所述目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息;所述多個第三方應(yīng)用程序運(yùn)行在所述目標(biāo)應(yīng)用框架上;
應(yīng)用程序生成模塊502用于根據(jù)所述目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序;所述接入應(yīng)用程序用于運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上,以實(shí)現(xiàn)所述目標(biāo)硬件與所述多個第三方應(yīng)用程序的交互。
具體地,如圖6示出的本發(fā)明實(shí)施例提供的應(yīng)用程序生成模塊的結(jié)構(gòu)示意圖,應(yīng)用程序生成模塊502可以包括:目標(biāo)代碼生成單元5020和打包生成單元5022,其中,
目標(biāo)代碼生成單元5020用于根據(jù)所述接口信息生成目標(biāo)代碼,所述目標(biāo)代碼用于接收并解析從所述目標(biāo)硬件輸入的操作信息,將所述操作信息返回給所述第三方應(yīng)用程序,或者接收并解析所述第三方應(yīng)用程序的控制指令,根據(jù)所述控制指令驅(qū)動目標(biāo)硬件并執(zhí)行操作;
打包生成單元5022用于將所述目標(biāo)代碼和所述目標(biāo)應(yīng)用框架打包生成針對所述目標(biāo)硬件的接入安裝包;所述接入安裝包用于安裝在所述目標(biāo)硬件的操作系統(tǒng)上。
另外,請參閱圖7,圖7是本發(fā)明提供的應(yīng)用程序開發(fā)裝置的另一實(shí)施例的結(jié)構(gòu)示意圖。其中,如圖7所示,應(yīng)用程序開發(fā)裝置70可以包括:至少一個處理器701,例如cpu,至少一個網(wǎng)絡(luò)接口704,用戶接口703,存儲器705,至少一個總線702以及顯示屏706。其中,總線702用于實(shí)現(xiàn)這些組件之間的連接通信。其中,該用戶接口703可以包括鍵盤或鼠標(biāo)或觸摸屏等。網(wǎng)絡(luò)接口704 可選的可以包括標(biāo)準(zhǔn)的有線接口、無線接口(如wi-fi接口)。存儲器705可以是高速ram存儲器,也可以是非不穩(wěn)定的存儲器(non-volatilememory),例如至少一個磁盤存儲器,存儲器705包括本發(fā)明實(shí)施例中的flash。存儲器705可選的還可以是至少一個位于遠(yuǎn)離前述處理器701的存儲系統(tǒng)。如圖7所示,作為一種計(jì)算機(jī)存儲介質(zhì)的存儲器705中可以包括操作系統(tǒng)、網(wǎng)絡(luò)通信模塊、用戶接口模塊以及應(yīng)用程序開發(fā)代碼。
處理器701可以用于調(diào)用存儲器705中存儲的應(yīng)用程序開發(fā)代碼,并執(zhí)行以下操作:
通過網(wǎng)絡(luò)接口704獲取目標(biāo)應(yīng)用框架和該目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息;該多個第三方應(yīng)用程序運(yùn)行在該目標(biāo)應(yīng)用框架上;
根據(jù)該目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序;該接入應(yīng)用程序用于運(yùn)行在該目標(biāo)硬件的操作系統(tǒng)上,以實(shí)現(xiàn)該目標(biāo)硬件與該多個第三方應(yīng)用程序的交互。
具體地,處理器701根據(jù)該目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序,包括:
根據(jù)該接口信息生成目標(biāo)代碼,該目標(biāo)代碼用于基于該第三方應(yīng)用程序的接口信息接收并解析從該目標(biāo)硬件輸入的操作信息,將該操作信息返回給該第三方應(yīng)用程序,或者接收并解析該第三方應(yīng)用程序的控制指令,基于該第三方應(yīng)用程序的接口信息根據(jù)該控制指令驅(qū)動目標(biāo)硬件并執(zhí)行操作;
將該目標(biāo)代碼和該目標(biāo)應(yīng)用框架打包生成針對該目標(biāo)硬件的接入安裝包;該接入安裝包用于安裝在該目標(biāo)硬件的操作系統(tǒng)上。
需要說明的是,本發(fā)明實(shí)施例中的應(yīng)用程序開發(fā)裝置50或應(yīng)用程序開發(fā)裝置70可以包括但不限于個人計(jì)算機(jī)、平板電腦等可以進(jìn)行應(yīng)用程序開發(fā)的設(shè)備,應(yīng)用程序開發(fā)裝置50或應(yīng)用程序開發(fā)裝置70的各功能模塊的功能可根據(jù)上述方法實(shí)施例中的方法具體實(shí)現(xiàn),其具體實(shí)現(xiàn)過程可以參照上述方法實(shí)施例的相關(guān)描述,此處不再贅述。
相應(yīng)地,如圖8示出的本發(fā)明實(shí)施例提供的應(yīng)用程序開發(fā)設(shè)備的結(jié)構(gòu)示意圖,應(yīng)用程序開發(fā)設(shè)備80可以包括:生成模塊800和發(fā)送模塊802,其中,
生成模塊800用于生成目標(biāo)應(yīng)用框架和該目標(biāo)應(yīng)用框架對應(yīng)的多個應(yīng)用程 序的接口信息;該多個應(yīng)用程序運(yùn)行在該目標(biāo)應(yīng)用框架上;
發(fā)送模塊802用于將該目標(biāo)應(yīng)用框架和該接口信息發(fā)送給第三方開發(fā)商,以使該第三方開發(fā)商根據(jù)該接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序;該接入應(yīng)用程序用于運(yùn)行在該目標(biāo)硬件的操作系統(tǒng)上,以實(shí)現(xiàn)該目標(biāo)硬件與該多個應(yīng)用程序的交互。
另外,請參閱圖9,圖9是本發(fā)明提供的應(yīng)用程序開發(fā)設(shè)備的另一實(shí)施例的結(jié)構(gòu)示意圖。其中,如圖9所示,應(yīng)用程序開發(fā)設(shè)備90可以包括:至少一個處理器901,例如cpu,至少一個網(wǎng)絡(luò)接口904,用戶接口903,存儲器905,至少一個總線902以及顯示屏906。其中,總線902用于實(shí)現(xiàn)這些組件之間的連接通信。其中,該用戶接口903可以包括鍵盤或鼠標(biāo)或觸摸屏等。網(wǎng)絡(luò)接口904可選的可以包括標(biāo)準(zhǔn)的有線接口、無線接口(如wi-fi接口)。存儲器905可以是高速ram存儲器,也可以是非不穩(wěn)定的存儲器(non-volatilememory),例如至少一個磁盤存儲器,存儲器905包括本發(fā)明實(shí)施例中的flash。存儲器905可選的還可以是至少一個位于遠(yuǎn)離前述處理器901的存儲系統(tǒng)。如圖9所示,作為一種計(jì)算機(jī)存儲介質(zhì)的存儲器905中可以包括操作系統(tǒng)、網(wǎng)絡(luò)通信模塊、用戶接口模塊以及應(yīng)用程序開發(fā)代碼。
處理器901可以用于調(diào)用存儲器905中存儲的應(yīng)用程序開發(fā)代碼,并執(zhí)行以下操作:
生成目標(biāo)應(yīng)用框架和所述目標(biāo)應(yīng)用框架對應(yīng)的多個應(yīng)用程序的接口信息;所述多個應(yīng)用程序運(yùn)行在所述目標(biāo)應(yīng)用框架上;
通過網(wǎng)絡(luò)接口904將所述目標(biāo)應(yīng)用框架和所述接口信息發(fā)送給第三方開發(fā)商,以使所述第三方開發(fā)商根據(jù)所述接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序;所述接入應(yīng)用程序用于運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上,以實(shí)現(xiàn)所述目標(biāo)硬件與所述多個應(yīng)用程序的交互。
需要說明的是,本發(fā)明實(shí)施例中的應(yīng)用程序開發(fā)設(shè)備80或應(yīng)用程序開發(fā)設(shè)備90可以包括但不限于個人計(jì)算機(jī)、平板電腦等可以進(jìn)行應(yīng)用程序開發(fā)的設(shè)備,應(yīng)用程序開發(fā)設(shè)備80或應(yīng)用程序開發(fā)設(shè)備90的各功能模塊的功能可根據(jù)上述方法實(shí)施例中的方法具體實(shí)現(xiàn),其具體實(shí)現(xiàn)過程可以參照上述方法實(shí)施例的相關(guān)描述,此處不再贅述。
綜上所述,實(shí)施本發(fā)明實(shí)施例,通過根據(jù)目標(biāo)應(yīng)用框架對應(yīng)的多個第三方應(yīng)用程序的接口信息生成針對目標(biāo)硬件的接入應(yīng)用程序,該多個第三方應(yīng)用程序運(yùn)行在該目標(biāo)應(yīng)用框架上,該接入應(yīng)用程序運(yùn)行在所述目標(biāo)硬件的操作系統(tǒng)上即可實(shí)現(xiàn)目標(biāo)硬件與多個第三方應(yīng)用程序的交互,開發(fā)商無需對操作系統(tǒng)的底層進(jìn)行大量的裁剪和移植,解決了現(xiàn)有技術(shù)中開發(fā)商需要對底層系統(tǒng)進(jìn)行大量的裁剪和移植,開發(fā)效率低,開發(fā)成本高的技術(shù)問題,大大減少了系統(tǒng)的植入工作,提高了開發(fā)效率,降低了開發(fā)成本。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機(jī)存儲記憶體(randomaccessmemory,ram)等。
以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。