CN102339222A - 在oms手机上启动应用程序的方法 - Google Patents
在oms手机上启动应用程序的方法 Download PDFInfo
- Publication number
- CN102339222A CN102339222A CN2011101728510A CN201110172851A CN102339222A CN 102339222 A CN102339222 A CN 102339222A CN 2011101728510 A CN2011101728510 A CN 2011101728510A CN 201110172851 A CN201110172851 A CN 201110172851A CN 102339222 A CN102339222 A CN 102339222A
- Authority
- CN
- China
- Prior art keywords
- application program
- oms
- mobile phone
- request
- wine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了包括:步骤1,在启动应用程序时,创建代理进程;步骤2,代理进程根据应用程序的信息生成请求并将该请求发送至中间件的服务进程;步骤3,代理进程代理中间件的服务进程生成的进程对系统资源的请求,完成应用程序的启动;其中,所述应用程序不是基于安卓操作系统的应用程序,中间件用于将应用程序二进制映像装载到安卓手机上。本发明解决了在OMS手机上启动WinCE和Windows Mobile应用程序的问题;让WinCE和Windows Mobile应用程序通过Wine程序运行的过程对于OMS手机的用户来说完全透明,用户还是用OMS手机固有的方式启动WinCE和WindowsMobile应用程序,保持了应用启动方式的一致性。
Description
技术领域
本发明涉及通信领域,尤其涉及在OMS手机上启动应用程序的方法。
背景技术
以手机为代表的智能化移动终端设备既是计算机技术的一个重要发展方向,又是一个竞争十分激烈的市场。自从谷歌公司和开放手机联盟推出安卓(Android)操作系统和基于Android的手机以来,很快就在世界手机市场上占有了不小的份额,各种Android手机层出不穷,由中国移动开发并推出的OPhone也是基于Android的,也是一种Android手机。
开放管理系统(OMS)手机基于Android操作系统。Android操作系统,实际上是对Linux操作系统的一种改编和扩充,它的内核基本上就是Linux的内核,但是在用户空间却专门针对手机和移动终端设备的特点作了大幅的改进和增强,这些改动大都与编程模式和图形界面,即图形化用户界面(GUI)有关。
使OMS手机兼容WinCE/Windows Mobile手机应用,无论对于用户还是厂商而言却有着重要的意义。这是因为,这使得OMS手机的用户在应用软件方面就增加了许多选择;原来的那些WinCE/Windows Mobile手机应用开发者,现在也可以开发OMS应用了,而且还可以慢慢过渡到专为OMS开发应用软件,成为OMS应用开发者,使OMS手机的应用软件更加丰富。
为了让现有的WinCE/Windows Mobile应用程序在OMS手机上运行,需要解决WinCE/Windows Mobile应用程序在OMS手机上的启动问题。
发明内容
针对现有技术中存在的上述问题,本发明提供了在OMS手机上启动应用程序的方法。
本发明提供了在OMS手机上启动应用程序的方法,包括:
步骤1,在启动应用程序时,创建代理进程;
步骤2,代理进程根据应用程序的信息生成请求并将该请求发送至中间件的服务进程;
步骤3,代理进程代理中间件的服务进程生成的进程对系统资源的请求,完成应用程序的启动;
其中,所述应用程序不是基于安卓操作系统的应用程序,中间件用于将应用程序二进制映像装载到安卓手机上。
在一个示例中,所述应用程序为基于WinCE或Windows Mobile操作系统的应用软件;所述中间件为Wine应用程序。
在一个示例中,代理进程在应用程序进程生成之后,代理进程的生命周期与应用程序进程的生命周期相同。
在一个示例中,应用程序的信息为应用程序的二进制映像名字和路径。
在一个示例中,步骤2中,代理进程通过进程间通信向Wine应用程序的服务进程发送启动应用的请求,并将代理进程自身的进程号告知Wine应用程序的服务进程。
在一个示例中,步骤3包括:
步骤31,代理进程监听Wine服务进程生成的对应进程的请求;
步骤32,代理进程接收到Wine应用程序生成的进程的请求后,将请求发送给Android操作系统的相应模块,并将操作系统返回的结果发送给请求的进程;
步骤32,当代理进程接收到Wine应用程序生成的进程结束的信息后,代理进程退出。
本发明解决了在OMS手机上启动WinCE和Windows Mobile应用程序的问题;让WinCE和Windows Mobile应用程序通过Wine程序运行的过程对于OMS手机的用户来说完全透明,用户还是用OMS手机固有的方式启动WinCE和Windows Mobile应用程序,保持了应用启动方式的一致性。
附图说明
下面结合附图来对本发明作进一步详细说明,其中:
图1是OMS手机上启动WinCE和Windows Mobile应用程序的流程图;
图2是OMS手机上启动WinCE和Windows Mobile应用程序的系统示意图。
具体实施方式
由于WinCE和Windows Mobile的应用程序不能直接运行在OMS手机上,需要通过运行在OMS手机系统上的Wine程序执行。为了在OMS手机上启动WinCE和Windows Mobile的应用程序,需要让安装在OMS手机上的WinCE和Windows Mobile应用程序在启动时通知运行在OMS手机上的Wine程序,然后由Wine程序启动WinCE或Windows Mobile的应用程序。
为了通知Wine程序有WinCE或Windows Mobile的应用程序需要运行,在用户点击应用程序的图标后,生成一个AppProxy进程。AppProxy进程向Wine程序的server端发送WinCE或Windows Mobile应用程序启动的请求。
Wine程序的server进程收到请求之后,创建一个线程启动WinCE或Windows Mobile的应用程序。AppProxy进程和与实际的应用进程有着相同的生存周期。
在WinCE或Windows Mobile应用程序启动的过程中,AppProxy承担真实的应用程序与Android系统之间的接口的作用。真实的应用程序的进程向AppProxy请求系统的资源,AppProxy将请求转发给Android系统,并将Android系统的反馈结果返回给真实的应用程序的进程。
在OMS手机上启动WinCE和Windows Mobile应用程序的实现流程如下:
1、在OMS手机上每当启动一个WinCE或Windows Mobile应用程序时,创建一个代理进程AppProxy,这个进程在实际的应用进程创建后与实际的应用进程有着相同的生存周期;用户点击WinCE和Windows Mobile应用程序封装的Android应用程序时,启动一个Android应用程序的进程,成为AppProxy。该进程与普通的Android应用的进程结构一样。
2、AppProxy根据WinCE或Windows Mobile应用的信息生成一个请求,发送给Wine应用的server端;
1)AppProxy向Linux系统管理单元发送请求,获取Wine server的进程信息(进程号);
2)如果成功返回Wine server进程的信息,AppProxy读取WinCE或Windows Mobile应用的信息(二进制映像名字和路径),通过IPC机制(进程间通信)向运行在Linux的Wine server进程发送启动应用的请求,并告知Wine server自己进程的信息,即代理进程的进程号。
3)如果不存在Wine server进程,AppProxy向Linux系统管理单元请求启动Wine server进程。并会重复步骤1)。
4)AppProxy等待Wine server的反馈消息,如果返回成功,则AppProxy进入代理进程的功能。此时Wine server会生成一个真正的应用进程来执行WinCE或Windows Mobile应用程序的功能。
3.代理进程AppProxy代理Wine应用生成的进程对系统资源的请求,完成应用程序的启动;
1)AppProxy进入代理功能之后,监听Wine server生成的对应进程的请求。
2)AppProxy接收到Wine应用程序生成的进程的请求后,将请求发送给Android操作系统的相应模块,并将操作系统返回的结果发送给请求的进程。
3)当AppProxy接收到Wine应用程序生成的进程结束的信息后,AppProxy退出。
本发明让WinCE和Windows Mobile应用程序通过Wine程序运行,该调用过程对于OMS手机的用户来说完全透明,用户还是用OMS手机固有的方式启动WinCE和Windows Mobile应用程序,保持了应用启动方式的一致性。
图1和图2分别是OMS手机上启动WinCE和Windows Mobile应用程序的流程图和系统示意图。
图1中,用户启动应用程序后,先判断是否为原生应用,如果为原生应用按照安卓应用程序启动;否则,生成AppProxy进程,并获取Wine Server进程信息,获取成功的话,Wine Server创建真正应用进程,AppProxy进程代理真正应用进程完成应用初始化;如果未获取成功,创建Wine Server进程,并重新获取Wine Server进程信息。
图2中,Linux应用通过IPC将显示命令发送给中间进程,调用AppProxy进程,如果在Linux应用中需要请求系统资源,Linux应用向AppProxy进程发送请求,由AppProxy进程和Android的系统调度模块进行通讯,安卓系统的系统调度模块请求和反馈Linux内核的系统资源,如果其中需要将数据发送到输入输出设备的,Linux内核的系统资源模块会将结果发送至输入输出设备。
以上所述仅为本发明的优选实施方式,但本发明保护范围并不局限于此。任何本领域的技术人员在本发明公开的技术范围内,均可对其进行适当的改变或变化,而这种改变或变化都应涵盖在本发明的保护范围之内。
Claims (6)
1.在OMS手机上启动应用程序的方法,其特征在于,包括:
步骤1,在启动应用程序时,创建代理进程;
步骤2,代理进程根据应用程序的信息生成请求并将该请求发送至中间件的服务进程;
步骤3,代理进程代理中间件的服务进程生成的进程对系统资源的请求,完成应用程序的启动;
其中,所述应用程序不是基于安卓操作系统的应用程序,中间件用于将应用程序二进制映像装载到安卓手机上。
2.如权利要求1所述的在OMS手机上启动应用程序的方法,其特征在于,所述应用程序为基于WinCE或Windows Mobile操作系统的应用软件;所述中间件为Wine应用程序。
3.如权利要求2所述的在OMS手机上启动应用程序的方法,其特征在于,代理进程在应用程序进程生成之后,代理进程的生命周期与应用程序进程的生命周期相同。
4.如权利要求3所述的在OMS手机上启动应用程序的方法,其特征在于,应用程序的信息为应用程序的二进制映像名字和路径。
5.如权利要求4所述的在OMS手机上启动应用程序的方法,其特征在于,步骤2中,代理进程通过进程间通信向Wine应用程序的服务进程发送启动应用的请求,并将代理进程自身的进程号告知Wine应用程序的服务进程。
6.如权利要求5所述的在OMS手机上启动应用程序的方法,其特征在于,步骤3包括:
步骤31,代理进程监听Wine服务进程生成的对应进程的请求;
步骤32,代理进程接收到Wine应用程序生成的进程的请求后,将请求发送给Android操作系统的相应模块,并将操作系统返回的结果发送给请求的进程;
步骤32,当代理进程接收到Wine应用程序生成的进程结束的信息后,代理进程退出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110172851.0A CN102339222B (zh) | 2011-06-24 | 2011-06-24 | 在oms手机上启动应用程序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110172851.0A CN102339222B (zh) | 2011-06-24 | 2011-06-24 | 在oms手机上启动应用程序的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102339222A true CN102339222A (zh) | 2012-02-01 |
CN102339222B CN102339222B (zh) | 2014-05-07 |
Family
ID=45514968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110172851.0A Active CN102339222B (zh) | 2011-06-24 | 2011-06-24 | 在oms手机上启动应用程序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102339222B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609310A (zh) * | 2012-02-14 | 2012-07-25 | 浪潮(北京)电子信息产业有限公司 | 一种计算机操作系统及其进程间通讯的方法 |
CN103139643A (zh) * | 2013-01-30 | 2013-06-05 | 深圳市同洲电子股份有限公司 | 一种应用程序的启动方法和数字电视终端 |
CN103197941A (zh) * | 2013-02-28 | 2013-07-10 | 深圳市中兴移动通信有限公司 | 操作系统与其他操作系统应用程序数据交互的方法、系统 |
CN103377074A (zh) * | 2012-04-28 | 2013-10-30 | Tcl集团股份有限公司 | 一种在java环境中执行程序的方法及系统 |
-
2011
- 2011-06-24 CN CN201110172851.0A patent/CN102339222B/zh active Active
Non-Patent Citations (3)
Title |
---|
毛德操: "漫谈Wine之一:WINE的系统结构", 《HTTP://DOWNLOAD.CSDN.NET/DETAIL/ZDRAGON2002/2819681》 * |
王燕凤,戴玉刚,马宁: "利用WINE实现Windows到Linux的转换", 《计算机与现代化》 * |
胡玉杰,李善平: "Windows程序在Linux上的运行", 《计算机工程》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609310A (zh) * | 2012-02-14 | 2012-07-25 | 浪潮(北京)电子信息产业有限公司 | 一种计算机操作系统及其进程间通讯的方法 |
CN103377074A (zh) * | 2012-04-28 | 2013-10-30 | Tcl集团股份有限公司 | 一种在java环境中执行程序的方法及系统 |
CN103377074B (zh) * | 2012-04-28 | 2017-02-15 | Tcl集团股份有限公司 | 一种在java环境中执行程序的方法及系统 |
CN103139643A (zh) * | 2013-01-30 | 2013-06-05 | 深圳市同洲电子股份有限公司 | 一种应用程序的启动方法和数字电视终端 |
CN103139643B (zh) * | 2013-01-30 | 2016-02-03 | 深圳市同洲电子股份有限公司 | 一种应用程序的启动方法和数字电视终端 |
CN103197941A (zh) * | 2013-02-28 | 2013-07-10 | 深圳市中兴移动通信有限公司 | 操作系统与其他操作系统应用程序数据交互的方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102339222B (zh) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI708185B (zh) | 程式的運行方法及裝置、計算設備以及儲存介質 | |
CN109308241B (zh) | 监听应用程序启动流程方法、装置、终端设备和存储介质 | |
US9021436B2 (en) | Automatic reconnection of debugger to a reactivated application | |
CN111399897A (zh) | 基于kubernetes的应用发布方法以及系统 | |
US8694956B2 (en) | PowerShell cmdlets code generating tool for communicating to the web services | |
CN103345405A (zh) | 应用程序的启动方法、装置和客户端 | |
CN107577609B (zh) | 一种基于主机端动态链接的嵌入式系统动态模块调试系统 | |
WO2012142798A1 (zh) | 一种应用程序加载的方法及装置 | |
CN114077423A (zh) | 基于移动跨平台的机场app开发容器架构 | |
CN111767090A (zh) | 小程序的启动方法、装置、电子设备以及存储介质 | |
CN102339222B (zh) | 在oms手机上启动应用程序的方法 | |
CN106502717B (zh) | 应用程序运行方法及装置 | |
CN115827112B (zh) | 一种在Web操作系统上运行安卓应用程序的系统及方法 | |
She et al. | Hermes: A tool for testing mobile device applications | |
KR100803290B1 (ko) | 무선 센서 네트워크 환경에서 프로그램을 변경하기 위한확장 가능한 가상 머신 및 이를 이용한 리프로그래밍 방법 | |
WO2021097683A1 (zh) | 安卓系统启动的方法、装置、设备及存储介质 | |
CN101923484A (zh) | 电子装置、计算机可执行系统、及应用程序显示控制方法 | |
CN107491330B (zh) | 一种提高嵌入式浏览器运行速度的方法 | |
CN113805954B (zh) | 屏保显示方法、电子设备以及计算机存储介质 | |
CN110389791B (zh) | 组件调度方法、装置、设备及存储介质 | |
CN114237851A (zh) | 一种定时任务的执行方法、装置、设备及存储介质 | |
CN111258715B (zh) | 多操作系统渲染处理方法及装置 | |
Ito et al. | Application Push & Play–Proposal on Dynamic Execution Environment Combined with Personal Devices and Cloud Computing.- | |
CN111124907A (zh) | 一种手机游戏测试方法、装置和服务器 | |
CN111225054B (zh) | 云手机自动化运行程序设计方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |