[发明专利]一种将应用程序装载到安卓手机上的方法及系统无效
申请号: | 201110172858.2 | 申请日: | 2011-06-24 |
公开(公告)号: | CN102331940A | 公开(公告)日: | 2012-01-25 |
发明(设计)人: | 毛德操;王承志;徐鼎鼎;陈天洲;吴斌斌 | 申请(专利权)人: | 浙大网新科技股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;H04M1/725 |
代理公司: | 杭州宇信知识产权代理事务所(普通合伙) 33231 | 代理人: | 张宇娟 |
地址: | 310030 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 装载 到安卓 手机 方法 系统 | ||
技术领域
本发明涉及移动通信领域,尤其涉及一种将应用程序装载到安卓手机上的方法及系统。
背景技术
以手机为代表的智能化移动终端设备既是计算机技术的一个重要发展方向,又是一个竞争十分激烈的市场。自从谷歌公司和开放手机联盟推出安卓(Android)操作系统和基于Android操作系统的手机以来,很快就在世界手机市场上占有了不小的份额,各种Android手机层出不穷。
所谓Android操作系统,实际上是对Linux操作系统的一种改编和扩充,它的内核基本上就是Linux的内核,但是在用户空间却专门针对手机和移动终端设备的特点作了大幅的改进和增强,这些改动大都与编程模式和图形界面,即图形化用户界面(GUI)有关。图1显示了WinCE和Linux操作系统的内存格局。
为了让现有的WinCE应用程序在Android手机上运行,需要利用经过移植的Wine应用程序来执行WinCE应用程序。但Wine应用程序最初是针对桌面Windows操作系统开发的,在Android手机上通过Wine应用程序来运行WinCE的应用程序存在以下问题:
首先,与桌面Windows应用程序不同,WinCE应用程序不存在兼容16位应用程序的问题,无需保留最低的DOS空间,因此WinCE的应用程序的开发环境往往把可执行应用程序映像装载地址定得很低,例如0x10000,而又不提供重定位信息;而Wine应用程序却保留了用户空间地址最低端的0x110000,即17个64KB的空间不让使用。因此在WinCE的应用程序通过Wine装载的时候,会出现装载失败的问题。
其次,为了执行WinCE的应用程序,Wine Server会生成wine-pthread,wine-pthread与WinCE目标映像属于同一个地址空间,因此可能形成冲突。
发明内容
为了解决上述的技术问题,提供了一种将应用程序装载到安卓手机上的方法及系统,其目的在于,解决了在Android手机上通过Wine应用程序运行WinCE二进制映像时装载失败的问题。
本发明提供了一种将应用程序装载到安卓手机上的方法,包括:
步骤1,判断应用程序二进制映像的装载地址是否处于冲突范围;如果是,执行步骤2,否则中间件将应用程序二进制映像装载到安卓手机上;
步骤2,修改应用程序二进制映像的基地址以避开冲突范围,中间件根据修改后的应用程序二进制映像的基地址将应用程序二进制映像装载到安卓手机上;
其中,所述应用程序不是基于安卓操作系统的应用程序。
在一个示例中,所述应用程序为基于WinCE操作系统或者WindowsMobile操作系统的应用程序;所述中间件为Wine应用程序。
在一个示例中,步骤1中,应用程序二进制映像的基地址大于或等于0x110000,并且基地址没有被占用时,应用程序二进制映像的装载地址不处于冲突范围,否则应用程序二进制映像的装载地址处于冲突范围。
在一个示例中,步骤3中,通过Wine应用程序中的map_view函数修改应用程序二进制映像的基地址;map_view函数的第二个传入参数为NULL。
在一个示例中,该方法还包括步骤4,将Wine Server生成的wine-pthread的映射地址设置为0x80000000。
本发明提供了一种将应用程序装载到安卓手机上的系统,包括:
冲突判定模块,用于判断应用程序二进制映像的装载地址是否处于冲突范围;
地址修改模块,用于在应用程序二进制映像的装载地址处于冲突范围时,修改应用程序二进制映像的基地址以避开冲突范围;
中间件,用于在应用程序二进制映像的装载地址未处于冲突范围时,根据应用程序二进制映像的该装载地址将应用程序二进制映像装载到安卓手机上;或者根据修改后的应用程序二进制映像的基地址将应用程序二进制映像装载到安卓手机上;
其中,所述应用程序不是基于安卓操作系统的应用程序。
在一个示例中,所述应用程序为基于WinCE操作系统或者WindowsMobile操作系统的应用程序;所述中间件为Wine应用程序。
在一个示例中,在应用程序二进制映像的基地址大于或等于0x110000,并且基地址没有被占用时,应用程序二进制映像的装载地址不处于冲突范围,否则应用程序二进制映像的装载地址处于冲突范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙大网新科技股份有限公司,未经浙大网新科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110172858.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:稀土永磁保健毛毯
- 下一篇:具有径向活塞的液压马达及通过缸的控制