專(zhuān)利名稱:一種利用Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)系統(tǒng)應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種基于Android系統(tǒng)的 Linux應(yīng)用方法及裝置。
背景技術(shù):
Android是Google開(kāi)發(fā)的基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng),它包括操作系 統(tǒng)、用戶界面和應(yīng)用程序等移動(dòng)電話工作所需的全部軟件,它采用了軟件堆層(software stack,又名軟件疊層)的架構(gòu),主要分為三部分底層以Linux核心為基礎(chǔ),由c語(yǔ)言開(kāi)發(fā), 只提供基本功能。中間層包括函數(shù)庫(kù)Library和虛擬機(jī)Virtual Machine,由C+開(kāi)發(fā)。最 上層是各種應(yīng)用軟件,包括通話程序,短信程序等,應(yīng)用軟件則由各公司自行開(kāi)發(fā),以java 編與。圖3為L(zhǎng)inux應(yīng)用模塊在Linux系統(tǒng)中能夠正常運(yùn)行示意圖,如圖3所示。而 Android系統(tǒng)只提供了 Java的UI框架,不能做到將Linux用戶界面應(yīng)用的用戶界面納入到 自己的界面體系中,致使Linux用戶界面應(yīng)用無(wú)法在其系統(tǒng)里正常運(yùn)行。圖4為現(xiàn)有Linux應(yīng)用模塊在Android系統(tǒng)中運(yùn)行示意圖,如圖4所示,當(dāng)Linux 用戶界面應(yīng)用在Android系統(tǒng)中運(yùn)行時(shí),由于Android系統(tǒng)接管了(盡管不是全部)系統(tǒng) 顯示和事件傳輸,它控制的顯示界面將覆蓋Linux應(yīng)用程序的顯示界面,使得后者在大多 數(shù)情況下無(wú)法正常顯示,事件信息也由Android系統(tǒng)接收而無(wú)法正確傳遞到Linux應(yīng)用程 序。Linux應(yīng)用在Android系統(tǒng)上運(yùn)行時(shí),其顯示區(qū)域游離在Android系統(tǒng)控制之外, 屏幕顯示混亂,且因用戶事件被Android系統(tǒng)攔截因而不能正常工作。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)存在的不足,本發(fā)明的目的在于提供一種實(shí)現(xiàn)Linux應(yīng)用在 Android系統(tǒng)中運(yùn)行的方法及裝置,利用Android應(yīng)用代理處理模塊創(chuàng)建共享顯示區(qū)域作 為L(zhǎng)inux用戶事件處理結(jié)果的共享顯示區(qū),顯示界面由該Android應(yīng)用代理處理模塊統(tǒng)一 管理,同時(shí)將接收的Linux用戶事件轉(zhuǎn)發(fā)給Linux應(yīng)用處理模塊進(jìn)行處理,因此,Linux應(yīng) 用將能夠在Android系統(tǒng)中正常工作。為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種Li mix應(yīng)用在Androi d系統(tǒng)中運(yùn)行的方法, 該方法包括以下步驟1) Android應(yīng)用代理處理模塊創(chuàng)建共享顯示區(qū);2) Linux應(yīng)用處理模塊進(jìn)行顯示配置;3)對(duì)用戶事件進(jìn)行處理,并將用戶界面信息發(fā)送給顯示模塊進(jìn)行顯示。為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的裝置,該 裝置包括Android應(yīng)用代理處理模塊,Linux應(yīng)用處理模塊,顯示模塊,Linux系統(tǒng)模塊和 Android系統(tǒng)模塊,其中所述Android應(yīng)用代理處理模塊,連接所述Android系統(tǒng)模塊、Linux應(yīng)用處 理模塊;生成共享顯示區(qū),并將共享顯示信息發(fā)送給所述Linux應(yīng)用處理模塊;接收所述Android系統(tǒng)模塊發(fā)送的用戶事件,并將所述用戶事件發(fā)送給Linux應(yīng)用處理模塊;所述Linux應(yīng)用處理模塊,接收所述Android應(yīng)用代理處理模塊發(fā)送的共享顯示 信息和用戶事件,并進(jìn)行顯示配置,對(duì)所述用戶事件進(jìn)行處理,并將用戶界面信息發(fā)送給顯 示模塊。顯示模塊,接收所述Linux應(yīng)用處理模塊或所述Android應(yīng)用代理處理模塊發(fā)送 的用戶界面信息并進(jìn)行顯示;所述Linux系統(tǒng)模塊,接收用戶事件,并將其轉(zhuǎn)發(fā)給所述Android系統(tǒng)模塊;所述Android系統(tǒng)模塊,將接收的用戶事件轉(zhuǎn)發(fā)給所述Android應(yīng)用代理處理模 塊。本發(fā)明具有顯著的優(yōu)點(diǎn)和技術(shù)效果,采用Android應(yīng)用代理處理模塊創(chuàng)建共享顯 示區(qū)域作為L(zhǎng)inux用戶事件處理結(jié)果的共享顯示區(qū),Linux系統(tǒng)的用戶事件和Android系 統(tǒng)的用戶事件由Android應(yīng)用代理處理模塊統(tǒng)一管理,使得Linux應(yīng)用能夠在Android系 統(tǒng)中正常運(yùn)行。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變 得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,并與本發(fā)明的 實(shí)施例一起,用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中圖1為根據(jù)本發(fā)明的Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的方法流程圖;圖2為根據(jù)本發(fā)明的Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的裝置架構(gòu)示意圖;圖3為L(zhǎng)inux應(yīng)用模塊在Linux系統(tǒng)中能夠正常運(yùn)行示意圖;圖4為現(xiàn)有Linux應(yīng)用模塊在Android系統(tǒng)中運(yùn)行示意圖。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí) 施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。圖1為根據(jù)本發(fā)明的Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的方法流程圖,下面將參 考圖1,對(duì)本發(fā)明的Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的方法進(jìn)行詳細(xì)描述首先,在步驟101,Android應(yīng)用代理處理模塊創(chuàng)建一個(gè)能夠顯示Linux應(yīng)用和 Android應(yīng)用的共享顯示區(qū),并將形成的共享顯示信息發(fā)送給Linux應(yīng)用處理模塊。共享 顯示區(qū)的創(chuàng)立有兩種方式,一種為Android應(yīng)用代理處理模塊開(kāi)辟該區(qū)而后通知Linux應(yīng) 用處理模塊_后者將自己的顯示指向這一區(qū)域,一種為雙方共同使用Linux系統(tǒng)的默認(rèn)顯 示緩沖區(qū)framebuffer。這一共同顯示區(qū)由Android應(yīng)用代理處理模塊以android, view. Surfaceview控件的形式予以控制;在步驟102,Linux應(yīng)用處理模塊接收Android應(yīng)用代理處理模塊發(fā)送的共享顯示 信息,并根據(jù)該共享顯示信息進(jìn)行顯示配置,如將顯示指向該區(qū)域;在步驟103,Android應(yīng)用代理處理模塊接收來(lái)自Android系統(tǒng)模塊的用戶事件 通知信息,并將用戶事件傳送給Linux應(yīng)用處理模塊,相當(dāng)于將用戶事件轉(zhuǎn)發(fā),一般情況下Android應(yīng)用代理處理模塊不對(duì)這些用戶事件進(jìn)行處理;在步驟104,Linux應(yīng)用處理模塊對(duì)接收的用戶事件進(jìn)行處理,并將用戶界面信息 發(fā)送給顯示模塊,上述用戶界面信息包括可在顯示模塊進(jìn)行顯示的用戶事件處理過(guò)程和結(jié) 果{曰息。在步驟105,顯示模塊接收Linux應(yīng)用處理模塊發(fā)送的用戶界面信息并進(jìn)行顯示。以上流程使得Linux應(yīng)用處理模塊在Android系統(tǒng)運(yùn)行時(shí)感覺(jué)不到一個(gè)的代理 (Android應(yīng)用代理處理模塊)存在。為實(shí)現(xiàn)上述Linux應(yīng)用在Andro i d系統(tǒng)中運(yùn)行的方法,本發(fā)明還提供了一種Linux 應(yīng)用在Android系統(tǒng)中運(yùn)行的裝置。圖2為根據(jù)本發(fā)明的Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的裝置架構(gòu)示意圖,如圖 2所示,本發(fā)明的Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的裝置,包括Android應(yīng)用代理處理模 塊201,Linux應(yīng)用處理模塊202,顯示模塊203,Linux系統(tǒng)模塊204和Android系統(tǒng)模塊 205,其中,Android應(yīng)用代理處理模塊201,連接Android系統(tǒng)模塊205、Linux應(yīng)用處理模塊 202 ;生成共享顯示區(qū),并將共享顯示信息發(fā)送給Linux應(yīng)用處理模塊202 ;接收Android系 統(tǒng)模塊205發(fā)送的用戶事件,并將用戶事件轉(zhuǎn)發(fā)給Linux應(yīng)用處理模塊202,此外,Android 應(yīng)用代理處理模塊201還具有處理用戶事件的功能,如果接收的用戶事件是Android用戶 事件,Android應(yīng)用代理處理模塊201就對(duì)其進(jìn)行處理(如前后臺(tái)切換等),并將用戶界面 信息發(fā)送給顯示模塊顯示。Linux應(yīng)用處理模塊202,接收Android應(yīng)用代理處理模塊201發(fā)送的共享顯示信 息和用戶事件,進(jìn)行顯示配置,對(duì)用戶事件進(jìn)行處理,并將包含對(duì)用戶事件處理過(guò)程和結(jié)果 的用戶界面信息發(fā)送給顯示模塊203。顯示模塊203,分別接收Linux應(yīng)用處理模塊202和Android應(yīng)用代理處理模塊 201發(fā)送的用戶界面信息并進(jìn)行顯示。Linux系統(tǒng)模塊204,接收用戶事件,并將用戶事件通知信息發(fā)送給Android系統(tǒng) 模塊205。Android系統(tǒng)模塊205,接收Linux系統(tǒng)模塊204發(fā)送的用戶事件通知信息并將該 用戶事件通知信息發(fā)送給Android應(yīng)用代理處理模塊201,或接收用戶事件并將形成的用 戶事件通知信息發(fā)送給Android應(yīng)用代理處理模塊201。本發(fā)明的Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的方法及裝置,采用Android應(yīng)用代 理處理模塊創(chuàng)建共享顯示區(qū)域作為L(zhǎng)inux用戶事件處理結(jié)果的共享顯示區(qū),Linux用戶事 件和Andro id用戶事件處理結(jié)果的顯示由該Android應(yīng)用代理處理模塊統(tǒng)一管理,同時(shí) 將接收的Linux用戶事件轉(zhuǎn)發(fā)給Linux應(yīng)用處理模塊進(jìn)行處理,因此,Linux應(yīng)用將能夠在 Android系統(tǒng)中正常工作,其在Linux系統(tǒng)中效果相同。本領(lǐng)域普通技術(shù)人員可以理解以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用 于限制本發(fā)明,盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,對(duì)于本領(lǐng)域的技術(shù)人員 來(lái)說(shuō),其依然可以對(duì)前述各實(shí)施例記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn) 行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含 在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種實(shí)現(xiàn)Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的方法,該方法包括以下步驟1)Android應(yīng)用代理處理模塊創(chuàng)建共享顯示區(qū);2)Linux應(yīng)用處理模塊進(jìn)行顯示配置;3)對(duì)用戶事件進(jìn)行處理,并將用戶界面信息發(fā)送給顯示模塊進(jìn)行顯示。
2.根據(jù)權(quán)利要求1所述的Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的方法,其特征在于,所述 步驟2)是Linux應(yīng)用處理模塊根據(jù)Android應(yīng)用代理處理模塊發(fā)送的共享顯示信息進(jìn)行顯示配置。
3.根據(jù)權(quán)利要求1所述的Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的方法,其特征在于,所述 步驟3)進(jìn)一步還包括以下步驟1)Android應(yīng)用代理處理模塊接收Android系統(tǒng)模塊發(fā)送的用戶事件,并將其轉(zhuǎn)發(fā)給 Linux應(yīng)用處理模塊;2)Linux應(yīng)用處理模塊對(duì)用戶事件進(jìn)行處理,并按照顯示配置將用戶界面信息發(fā)送給 顯示模塊;3)顯示模塊對(duì)用戶界面信息進(jìn)行顯示。
4.一種實(shí)現(xiàn)Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的裝置,包括Android應(yīng)用代理處理模 塊,Linux應(yīng)用處理模塊,顯示模塊,Linux系統(tǒng)模塊和Android系統(tǒng)模塊,其中所述Android應(yīng)用代理處理模塊,連接所述Android系統(tǒng)模塊、Linux應(yīng)用處理模塊; 生成共享顯示區(qū),并將共享顯示信息發(fā)送給所述Linux應(yīng)用處理模塊;接收所述Android系 統(tǒng)模塊發(fā)送的用戶事件,并將所述用戶事件發(fā)送給Linux應(yīng)用處理模塊;所述Linux應(yīng)用處理模塊,接收所述Android應(yīng)用代理處理模塊發(fā)送的共享顯示信息 和用戶事件,并進(jìn)行顯示配置,對(duì)所述用戶事件進(jìn)行處理,并將用戶界面信息發(fā)送給顯示模 塊。顯示模塊,接收所述Linux應(yīng)用處理模塊或所述Android應(yīng)用代理處理模塊發(fā)送的用 戶界面信息并進(jìn)行顯示;所述Linux系統(tǒng)模塊,接收用戶事件,并將其轉(zhuǎn)發(fā)給所述Android系統(tǒng)模塊;所述Android系統(tǒng)模塊,將接收的用戶事件轉(zhuǎn)發(fā)給所述Android應(yīng)用代理處理模塊。
5.根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的裝置,其特征在于, 所述Android應(yīng)用代理處理模塊對(duì)接收的Android用戶事件進(jìn)行處理,并將用戶界面信息 發(fā)送給所述顯示模塊。
全文摘要
一種實(shí)現(xiàn)Linux應(yīng)用在Android系統(tǒng)中運(yùn)行的方法及裝置,首先,Android應(yīng)用代理處理模塊創(chuàng)建共享顯示區(qū),Linux應(yīng)用處理模塊(即Linux應(yīng)用)根據(jù)創(chuàng)建的共享顯示區(qū)進(jìn)行顯示配置,以做到共享顯示區(qū),然后,Android應(yīng)用代理處理模塊將接收的用戶事件轉(zhuǎn)發(fā)給Linux應(yīng)用處理模塊進(jìn)行處理,Linux應(yīng)用處理模塊將處理后生成的用戶界面信息發(fā)送給顯示模塊進(jìn)行顯示。本發(fā)明采用Android應(yīng)用代理處理模塊創(chuàng)建共享顯示區(qū)域作為L(zhǎng)inux用戶事件處理結(jié)果的共享顯示區(qū),Linux系統(tǒng)的用戶事件和Android系統(tǒng)的用戶事件由Android應(yīng)用代理處理模塊統(tǒng)一管理,使得Linux應(yīng)用能夠在Android系統(tǒng)中正常運(yùn)行。
文檔編號(hào)G06F9/44GK101876906SQ20101013943
公開(kāi)日2010年11月3日 申請(qǐng)日期2010年3月31日 優(yōu)先權(quán)日2010年3月31日
發(fā)明者薛飛, 趙非 申請(qǐng)人:北京播思軟件技術(shù)有限公司