WEI CHUANHUI (CN)
US20110258595A1 | 2011-10-20 | |||
CN101800910A | 2010-08-11 | |||
CN102693121A | 2012-09-26 |
None
北京康信知识产权代理有限责任公司 (CN)
权 利 要 求 书 1. 一种应用的开发、 编译和调试方法, 包括: 获取代码, 其中, 所述代码用于实现应用, 所述代码兼容一种或多种终端 操作系统; 在多种不同的终端操作系统的编译环境中, 选择一种或多种编译环境对所 述代码进行编译; 在与所述一种或多种编译环境对应的调试环境中对编译后的所述代码进行 调试。 2. 根据权利要求 1所述的方法, 其中, 获取代码包括: 为所述应用生成代码框架, 其中, 所述代码框架兼容一种或多种终端操作 系统; 获取根据所述代码框架编辑得到的代码。 3. 根据权利要求 1所述的方法,其中,在多种不同的终端操作系统的编译环境中, 选择一种或多种编译环境对所述代码进行编译包括: 接收对所述代码进行编译的第一编译请求; 对接收到的一个或多个编译请求进行负载均衡之后, 根据所述第一编译请 求对所述代码进行编译, 其中, 所述一个或多个编译请求中包括所述第一编译 请求。 4. 根据权利要求 3所述的方法, 其中, 在接收对所述代码进行编译的第一编译请 求之后, 所述方法还包括: 如果确定资源全部被使用, 则对接收到的一个或多 个编译请求进行排队。 5. 根据权利要求 1所述的方法,其中,在多种不同的终端操作系统的编译环境中, 选择一种或多种编译环境对所述代码进行编译之后, 所述方法还包括: 反馈编 译信息和结果。 6. 根据权利要求 1所述的方法, 其中, 与所述编译环境对应的调试环境包括以下 至少之一: 多种不同的终端操作系统的调试环境、 多种终端真机的调试环境, 其中, 每种终端操作系统提供一个或多个编译环境及其对应的一个或多个调试 环境, 所述多种不同的终端操作系统的调试环境通过模拟器实现。 7. 根据权利要求 6所述的方法, 其中, 在与所述一种或多种编译环境对应的调试 环境中对编译后的所述代码进行调试包括以下至少之一: 在多种不同的终端操作系统的调试环境中, 选择与所述一种或多种编译环 境对应的模拟器调试环境对编译后的所述代码进行调试; 在多种终端真机的调试环境中, 选择与所述一种或多种编译环境对应的终 端真机调试环境对编译后的所述代码进行调试。 8. 根据权利要求 7所述的方法,其中,在多种不同的终端操作系统的调试环境中, 选择与所述一种或多种编译环境对应的模拟器调试环境对编译后的所述代码进 行调试包括: 接收对所述代码进行调试的第一模拟器运行调试请求; 对接收到的一个或多个模拟器运行调试请求进行负载均衡之后, 根据所述 第一模拟器运行调试请求对所述代码进行调试, 其中, 所述一个或多个模拟器 运行调试请求中包括所述第一模拟器运行调试请求。 9. 根据权利要求 8所述的方法, 其中, 在接收对所述代码进行调试的第一模拟器 运行调试请求之后, 所述方法还包括: 对与所述一种或多种编译环境对应的模拟器调试环境进行监控和统计。 10. 根据权利要求 7所述的方法, 其中, 在多种终端真机的调试环境中, 选择与所 述一种或多种编译环境对应的终端真机调试环境对编译后的所述代码进行调试 包括: 接收对所述代码进行调试的第一终端运行调试请求; 对接收到的一个或多个终端运行调试请求进行负载均衡之后, 根据所述第 一终端运行调试请求对所述代码进行调试, 其中, 所述一个或多个终端运行调 试请求中包括所述第一终端运行调试请求。 11. 根据权利要求 10所述的方法,其中,在接收对所述代码进行调试的第一终端运 行调试请求之后, 所述方法还包括: 对与所述一种或多种编译环境对应的终端真机调试环境进行监控和统计。 12. 根据权利要求 8或 10所述的方法, 其中, 在接收对所述代码进行调试的第一模拟器运行调试请求之后, 所述方法还 包括: 如果根据模拟器资源池的当前使用情况, 确定模拟器全部被使用, 则对 接收到的一个或多个模拟器运行调试请求进行排队; 在接收对所述代码进行调试的第一终端运行调试请求之后, 所述方法还包 括: 如果确定终端真机全部被使用, 则对接收到的一个或多个终端运行调试请 求进行排队。 13. 根据权利要求 7所述的方法, 其中, 在多种不同的终端操作系统的调试环境中, 选择与所述一种或多种编译环 境对应的模拟器调试环境对编译后的所述代码进行调试之后,所述方法还包括: 反馈模拟器调试信息和结果; 在多种终端真机的调试环境中, 选择与所述一种或多种编译环境对应的终 端真机调试环境对编译后的所述代码进行调试之后, 所述方法还包括: 反馈终 端调试信息和结果。 14. 根据权利要求 1至 13中任一项所述的方法,其中,所述一种或多种编译环境是 根据资源池的使用情况自动分配的。 15. 一种应用的开发、 编译和调试装置, 包括: 获取模块, 设置为获取代码, 其中, 所述代码用于实现应用, 所述代码兼 容一种或多种终端操作系统; 编译模块, 设置为在多种不同的终端操作系统的编译环境中, 选择一种或 多种编译环境对所述代码进行编译; 调试模块, 设置为在与所述一种或多种编译环境对应的调试环境中对编译 后的所述代码进行调试。 16. 根据权利要求 15所述的装置, 其中, 所述获取模块包括: 生成单元, 设置为为所述应用生成代码框架, 其中, 所述代码框架兼容一 种或多种终端操作系统; 获取单元, 设置为获取根据所述代码框架编辑得到的代码。 |
( 3 ) 终端调试 在多种终端真机的调试环境中, 选择与一种或多种编译环境对应的调试环境对 编 译后的代码进行调试包括: 接收对代码进行调试的第一终端运行调试请求 ; 对接收到 的一个或多个终端运行调试请求进行负载均衡 之后, 根据第一终端运行调试请求对代 码进行调试, 其中, 一个或多个终端运行调试请求中包括第一终端 运行调试请求。 优选地,在接收对代码进行调试的第一终端运 行调试请求之后, 上述方法还包括: 对与一种或多种编译环境对应的终端真机调试 环境进行监控和统计。 在接收对代码进行调试的第一终端运行调试请 求之后, 上述方法还包括: 如果确 定终端真机全部被使用, 则对接收到的一个或多个终端运行调试请求进 行排队。 优选地, 在多种不同的终端操作系统的调试环境中, 选择与一种或多种编译环境 对应的调试环境对编译后的代码进行调试之后 , 上述方法还包括: 反馈终端调试信息 和结果。 优选地, 上述选择的一种或多种编译环境是根据资源池 的使用情况自动分配的。 需要说明的是, 上述模拟器调试与终端真机调试是没有先后顺 序的, 也不是必须 同时存在的, 例如, 可以只进行终端真机的调试, 或者先进行模拟器调试再进行终端 真机调试。 其中, 终端真机调试就是将编译打包后的应用安装到 具体的终端机器上。 当先进行模拟器调试再进行终端真机调试时, 在终端真机中对编译调试后的应用再次 进行调试。 本发明实施例还提供了一种应用的开发、 编译和调试装置, 该装置可以用于实现 上述应用的开发、 编译和调试方法。 图 2是根据本发明实施例的应用的开发、 编译和 调试装置的结构框图, 如图 2所示, 该装置包括获取模块 22、 编译模块 24和调试模 块 26。 获取模块 22, 设置为获取代码, 其中, 该代码用于实现应用, 该代码兼容一种或 多种终端操作系统; 编译模块 24, 连接至获取模块 22, 设置为在多种不同的终端操作 系统的编译环境中,选择一种或多种编译环境 对获取模块 22获取的代码进行编译; 调 试模块 26,连接至编译模块 24, 设置为在与一种或多种编译环境对应的调试环 境中对 编译模块 24编译后的代码进行调试。 优选地, 获取模块 22包括: 生成单元, 设置为为应用生成代码框架, 其中, 代码 框架兼容一种或多种终端操作系统; 获取单元, 连接至生成单元, 设置为获取根据代 码框架编辑得到的代码。 编译模块 24包括: 接收单元, 设置为接收对代码进行编译的第一编译请求; 编译 单元, 连接至接收单元, 设置为对接收到的一个或多个编译请求进行负 载均衡之后, 根据第一编译请求对代码进行编译,其中,一 个或多个编译请求中包括第一编译请求。 优选地, 编译模块 24还包括: 排队单元, 连接至接收单元, 设置为在确定资源全 部被使用的情况下, 对接收到的一个或多个编译请求进行排队。 优选地, 上述装置还包括: 反馈模块, 连接至编译模块 24, 设置为反馈编译信息 和结果。 优选地, 与编译环境对应的调试环境包括以下至少之一 : 多种不同的终端操作系 统的调试环境、 多种终端真机的调试环境, 其中, 每种终端操作系统提供一个或多个 编译环境及其对应的一个或多个调试环境, 多种不同的终端操作系统的调试环境通过 模拟器实现。 如图 3所示, 调试模块 26包括: 第一调试单元 262, 设置为在多种不同的终端操 作系统的调试环境中, 选择与一种或多种编译环境对应的调试环境对 编译后的代码进 行调试; 第二调试单元 264, 设置为在多种终端真机的调试环境中, 选择与一种或多 种编译环境对应的调试环境中对编译后的代码 进行调试。 第一调试单元 262包括: 第一接收子单元, 设置为接收对代码进行调试的第一模 拟器运行调试请求; 第一调试子单元, 设置为对接收到的一个或多个模拟器运行调试 请求进行负载均衡之后, 根据第一模拟器运行调试请求对代码进行调试 , 其中, 一个 或多个模拟器运行调试请求中包括第一模拟器 运行调试请求。 优选地, 调试模块 26 还包括: 第一反馈单元, 连接至第一调试单元 262, 设置为反馈模拟器调试信息和结 果。 第一调试单元 262还包括: 第一监控统计子单元, 连接至第一接收子单元, 设置 为在在接收对代码进行调试的第一模拟器运行 调试请求之后, 上述方法还包括: 对与 一种或多种编译环境对应的模拟器调试环境进 行监控和统计。 第一调试单元 262还包括: 第一排队子单元, 连接至第一接收子单元, 设置为在 根据模拟器资源池的当前使用情况, 确定模拟器全部被使用的情况下, 对接收到的一 个或多个模拟器运行调试请求进行排队。 第二调试单元 264包括: 第二接收子单元, 设置为接收对代码进行调试的第一终 端运行调试请求; 第二调试子单元, 设置为对接收到的一个或多个终端运行调试请 求 进行负载均衡之后, 根据第一终端运行调试请求对代码进行调试, 其中, 一个或多个 终端运行调试请求中包括第一终端运行调试请 求。优选地, 调试模块 26还包括: 第二 反馈单元, 连接至第二调试单元 264, 设置为反馈终端调试信息和结果。 第二调试单元 264还包括: 第二监控统计子单元, 连接至第二接收子单元, 设置 为对与一种或多种编译环境对应的终端真机调 试环境进行监控和统计。 第二调试单元 264还包括: 第二排队子单元, 连接至第二接收子单元, 设置为在 确定终端真机全部被使用的情况下, 对接收到的一个或多个终端运行调试请求进行 排 队。 需要说明的是, 装置实施例中描述的应用的开发、 编译和调试装置对应于上述的 方法实施例,其具体的实现过程在方法实施例 中已经进行过详细说明,在此不再赘述。 为了使本发明实施例的技术方案和实现方法更 加清楚, 下面将结合优选的实施例 对其实现过程进行详细描述。 在一个优选实施例中, 提供了一种应用的开发、 编译和调试系统, 图 4是根据本 发明优选实施例的应用的开发、 编译和调试系统的结构示意图, 如图 4所示, 该系统 包括: 集成开发环境单元 42、 云管理单元 44、 编译调试云单元 46和终端云单元 48。 下面分别对各个单元进行描述。 集成开发环境单元 42包括: 跨平台代码框架生成模块 422、 跨平台代码编辑模块 424、 编译模块 426和运行调试模块 428。 集成开发环境单元 42提供开发者交互界面, 通过跨平台代码框架生成模块 42为终端应用生成代码框架,同时跨平台代码 辑模块 424支持代码文件的编辑, 并且通过编译模块 426和运行调试模块 428向云管理单元 44发起请求。跨平台代码框架生成模块 422与跨平台代码编辑模块 424、编译模块 426 和运行调试模块 428相连, 设置为编译和运行调试请求。 云管理单元 44接收与响应集成开发环境单元 42的编译和调试请求, 提供编译、 模拟器云 (虚拟机) 环境以及终端云的调度, 编译接口的调用与返回, 调试命令发送 和结果反馈; 并将编译调试请求和信息发送到编译调试云单 元 46, 而终端测试的请求 及信息则发送到终端云单元 48。 云管理单元 44包括: 接口服务模块 442、 云调度模块 444、 负载均衡模块 446和监控统计模块 448。 其中, 接口服务模块 442与负载均衡模 块 446、 云调度模块 444相连, 设置为发起云编译或终端调试请求以及结果反 馈, 同 时通过负载均衡模块 446来扩展网络设备和服务器的带宽、 增加吞吐量、 加强网络数 据处理能力、 提高网络的灵活性和可用性。 接口服务模块 442与监控统计模块 448相 连, 进行实时监控。 编译调试云单元 46 (实现了上述编译模块 24和第一调试单元 262的功能) 包括 编译环境 462和模拟器 464, 即包括多种不同终端操作系统的编译环境、 调试环境, 每种终端操作系统提供 1至 N个编译环境, 每种终端提供 1至 N个模拟器, 采用虚拟 机的方案, 在同一台主机上安装多个虚拟机。 通过云管理单元 46, 能够最大限度发挥 硬件能力,可以同时进行多个应用的编译和调 试,接收到云管理单元 46编译调试代码 请求后, 发起终端应用的编译和调试, 并且将结果反馈云管理单元 46。 其中, 编译环 境 462与模拟器 464相连, 编译环境 462可以对代码进行编译, 模拟器 464可以对代 码进行调试。 终端云单元 48 (实现了上述第二调试单元 264的功能), 提供多种终端设备, 即 提供多种终端真机的调试环境, 终端的调度、调用和屏幕接收到云管理单元 44的终端 调试请求后, 将响应情况返回给云管理单元 44进行调度和调用。 图 5是根据本发明优选实施例的应用的开发、 编译和调试方法的流程图, 如图 5 所示, 基于上述系统的应用的开发、 编译、 调试方法具体包括如下步骤: 步骤 S502, 开发者创建应用, 选择应用模板, 消息发送给集成开发环境单元 42 中的跨平台代码框架生成模块 422, 由跨平台代码框架生成模块 422生成跨平台代码 框架。 步骤 S504, 集成开发环境单元 42中完成跨平台代码框架生成后, 展现给开发者。 步骤 S506, 使用跨平台代码编辑模块 424进行跨平台代码进行编辑, 设计。 步骤 S508, 完成跨平台代码进行编辑, 设计并且保存成功。 步骤 S510, 调用编译模块 426发起编译请求信息, 将请求信息发送到云管理单元
44。 步骤 S512,从集成开发环境单元 42发送的编译请求信息由云管理单元 44中接口 服务模块 442接收。 步骤 S514, 接口服务模块 442收发信息触发监控统计模块 448, 进行信息监控和 统计。 步骤 S516, 进入负载均衡模块 446, 提高网络能力。 步骤 S514与步骤 S516没有时序先后,即步骤 S516也可以在步骤 S512之后执行, 在访问云管理单元 44的时候优先进行负载均衡。 步骤 S518, 先进入负载均衡模块 446, 后进行云调度模块 444, 调用编译调试云 单元 46 步骤 S520, 编译请求调用编译调试云单元 46上编译环境 462进行编译。 步骤 S522, 将编译信息和结果反馈通过云管理单元 44的接口服务模块 442反馈 给集成开发环境单元 42展现给开发者。 步骤 S524, 编译成功, 开发者调用运行调试模块 428 发起模拟器运行调试请求, 将请求信息发送到云管理单元 44。 步骤 S526,从集成开发环境单元 42发送的运行调试请求信息由云管理单元 44中 接口服务模块 442接收。 步骤 S528, 接口服务模块 442收发信息触发监控统计模块 448, 进行信息监控和 统计。 步骤 S530, 进入负载均衡模块 446, 提高网络能力。 步骤 S528与步骤 S530没有时序先后, 即步骤 S530可以在步骤 S526之后执行, 在访问云管理单元 44的时候优先进行负载均衡。 步骤 S532, 先进入负载均衡模块 446, 后进行云调度模块 444, 调用编译调试云 单元 46 步骤 S534, 运行调试请求信息调用编译调试云单元 46上模拟器 464进行调试。 步骤 S536, 将调试信息和结果反馈通过云管理单元 44的接口服务模块 442反馈 给集成开发环境单元 42展现给开发者。 步骤 S538, 编译成功, 开发者调用 运行调试模块 428 发起终端运行调试请求, 将请求信息发送到云管理单元 44。 需要说明的是, 步骤 S538和步骤 S524没有时序先后。 即可以先进行终端调试, 后进行模拟器调试。 步骤 S540,从集成开发环境单元 42发送的运行调试请求信息由云管理单元 44中 接口服务模块 442接收。 步骤 S542, 接口服务模块 442收发信息触发监控统计模块 448, 进行信息监控和 统计。 步骤 S544, 进入负载均衡模块 446, 提高网络能力。 步骤 S542与步骤 S544没有时序先后, 即步骤 S544可以在步骤 S540之后执行, 在访问云管理单元 44的时候优先进行负载均衡。 步骤 S546, 先进入负载均衡模块 446, 后进行云调度模块 444, 调用编译调试云 单元 46 步骤 S548, 运行调试请求信息调用终端云单元 48上终端设备进行调试。 步骤 S550, 将调试信息和结果反馈通过云管理单元 44的接口服务模块 442反馈 给集成开发环境单元 42展现给开发者。 需要说明的是, 在附图的流程图示出的步骤可以在诸如一组计 算机可执行指令的 计算机系统中执行, 并且, 虽然在流程图中示出了逻辑顺序, 但是在某些情况下, 可 以以不同于此处的顺序执行所示出或描述的步 骤。 综上所述, 根据本发明的上述实施例, 提供了一种应用的开发、 编译和调试方法 以及装置。 通过本发明实施例, 为开发者提供了一套集成的跨平台应用开发环 境, 开 发者只需使用一套开发环境, 开发一套代码, 即兼容一种或多种终端操作系统的代码, 就可以编译成能在不同终端操作系统运行的应 用, 同时还能够在不同的终端和模拟器 中进行调试, 达到一套应用代码能在不同终端环境运行的效 果, 节省了大量编码以及 在不同环境中编译调试的时间, 即可以快速开发出能在多个不同终端操作系统 上运行 的应用, 达到提高开发效率, 降低研发成本的目标。 此外, 本发明实施例还支持多开 发者同时在线开发、 编译、 调试。 显然, 本领域的技术人员应该明白, 上述的本发明实施例的各模块或各步骤可以 用通用的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算 装置所组成的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现 , 从而, 可以将它们存储在存储装置中由计算装置来执 行, 或者将它们分别制作成各个集成电 路模块, 或者将它们中的多个模块或步骤制作成单个集 成电路模块来实现。 这样, 本 发明实施例不限制于任何特定的硬件和软件结 合。 以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的 任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。 工业实用性 本发明实施例的技术方案可以应用于 APP领域,为开发者提供了一套集成的跨平 台应用开发环境, 开发者只需使用一套开发环境, 开发一套代码, 即兼容一种或多种 终端操作系统的代码, 就可以编译成能在不同终端操作系统运行的应 用, 同时还能够 在不同的终端和模拟器中进行调试,达到一套 应用代码能在不同终端环境运行的效果, 节省了大量编码以及在不同环境中编译调试的 时间, 即可以快速开发出能在多个不同 终端操作系统上运行的应用, 达到提高开发效率, 降低研发成本的目标, 本发明实施 例还支持多开发者同时在线开发、 编译、 调试。