System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及智能家居/智慧家庭,具体提供一种跨平台软件开发方法、设备及介质。
技术介绍
1、移动应用开发的安全问题越来越受到关注,开发人员需要确保程序的安全性和用户隐私的保护。
2、随着harmonyos系统的问世,代码复用的问题也越来越突出,一个应用程序可能需要同时维护android、ios、harmonyos三套代码,应用程序的维护成本越来越高,需要开发人员重复编写代码。
3、为此,本申请提出一种跨平台软件开发方案。
技术实现思路
1、为了克服上述缺陷,提出了本申请,以提供解决或至少部分地解决现有开发方法针对不同的系统需要重复编写代码、导致维护成本较高的技术问题。本申请提供了一种跨平台软件开发方法、设备及介质。
2、在第一方面,本申请提供一种跨平台软件开发方法,其所述方法包括:
3、获取目标平台的系统类型;
4、基于所述系统类型配置编译环境;
5、创建目标项目工程;
6、基于所述编译环境和所述目标项目工程获取库文件,所述库文件与所述目标平台的系统类型对应;
7、将所述库文件发布至预设仓库,以使得基于所述库文件获得目标应用程序。
8、在本申请一个实施方式中,所述基于所述系统类型配置编译环境,包括:
9、安装rust编译器;
10、基于所述系统类型安装rust工具链。
11、在本申请一个实施方式中,所述创建目标项目工程,包括:
13、利用所述代码编辑器创建目标项目;
14、为所述目标项目编写rust代码,以获得所述目标项目工程。
15、在本申请一个实施方式中,所述基于所述编译环境和所述目标项目工程获取与所述系统类型对应的库文件,包括:
16、利用所述编译环境中的rust编译器对所述目标项目工程进行编译,获得所述目标项目工程对应的二进制文件;
17、将所述二进制文件打包成与所述系统类型对应的库文件。
18、在本申请一个实施方式中,所述rust工具链包括cargo-ndk工具和cargo-lipo工具中的任意一种;
19、将所述二进制文件打包成与所述系统类型对应的库文件,包括:
20、在所述系统类型为android时,基于所述cargo-ndk工具将所述二进制文件进行打包,获得与所述系统类型对应的库文件;
21、在所述系统类型为ios时,基于所述cargo-lipo工具将所述二进制文件进行打包,获得与所述系统类型对应的库文件;
22、在所述系统类型为harmonyos时,配置clang链接脚本,基于已配置的clang链接脚本将所述二进制文件进行打包,获得与所述系统类型对应的库文件。
23、在本申请一个实施方式中,所述将所述库文件发布至预设仓库,包括:
24、创建集成模块;
25、将所述库文件集成至所述集成模块;
26、将所述集成模块发布至所述预设仓库。
27、在本申请一个实施方式中,所述创建集成模块,包括:
28、在所述系统类型为android时,使用android studio创建所述集成模块;
29、在所述系统类型为ios时,使用xcode创建所述集成模块;
30、在所述系统类型为harmonyos时,使用dev-echo创建所述集成模块。
31、在本申请一个实施方式中,所述将所述集成模块发布至所述预设仓库,包括:
32、在所述系统类型为android时,将所述集成模块发布到maven仓库;
33、在所述系统类型为ios时,将所述集成模块发布至git服务器;
34、在所述系统类型为harmonyos时,将所述集成模块发布至预设仓库。
35、在第二方面,提供一种计算机设备,包括:
36、至少一个处理器;
37、以及,与所述至少一个处理器通信连接的存储器;
38、其中,所述存储器中存储有计算机程序,所述计算机程序被所述至少一个处理器执行时前述的跨平台软件开发方法。
39、在第三方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行前述任一项所述的跨平台软件开发方法。
40、本申请上述一个或多个技术方案,至少具有如下一种或多种有益效果:
41、本申请中的跨平台软件开发方法包括:获取目标平台的系统类型;基于系统类型配置编译环境;创建目标项目工程;基于编译环境和目标项目工程获取与系统类型对应的库文件;将库文件发布至预设仓库,以使得基于库文件获得目标应用程序。如此,开发者只需维护一套核心代码库,减少了重复劳动,提高了开发速度。通过一次编写,多处运行的方式,减少了为每个平台单独开发的时间和成本。根据不同的系统类型自动配置编译环境,减少了手动配置的工作量,降低了出错的可能性。通过创建统一的目标项目工程,可以复用相同的代码库,减少代码冗余。生成的库文件可以在不同的平台上被重用,避免了为每个平台编写相似功能的代码。维护单一的核心代码库比维护多个平台特定的代码库更简单,降低了代码维护成本。
本文档来自技高网...【技术保护点】
1.一种跨平台软件开发方法,其特征在于,所述方法包括:
2.根据权利要求1所述的跨平台软件开发方法,其特征在于,所述基于所述系统类型配置编译环境,包括:
3.根据权利要求1所述的跨平台软件开发方法,其特征在于,所述创建目标项目工程,包括:
4.根据权利要求1所述的跨平台软件开发方法,其特征在于,所述基于所述编译环境和所述目标项目工程获取与所述系统类型对应的库文件,包括:
5.根据权利要求4所述的跨平台软件开发方法,其特征在于,所述Rust工具链包括cargo-ndk工具和cargo-lipo工具中的任意一种;
6.根据权利要求1所述的跨平台软件开发方法,其特征在于,所述将所述库文件发布至预设仓库,包括:
7.根据权利要求6所述的跨平台软件开发方法,其特征在于,所述创建集成模块,包括:
8.根据权利要求6所述的跨平台软件开发方法,其特征在于,所述将所述集成模块发布至所述预设仓库,包括:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,其中存储有多条程序代
...【技术特征摘要】
1.一种跨平台软件开发方法,其特征在于,所述方法包括:
2.根据权利要求1所述的跨平台软件开发方法,其特征在于,所述基于所述系统类型配置编译环境,包括:
3.根据权利要求1所述的跨平台软件开发方法,其特征在于,所述创建目标项目工程,包括:
4.根据权利要求1所述的跨平台软件开发方法,其特征在于,所述基于所述编译环境和所述目标项目工程获取与所述系统类型对应的库文件,包括:
5.根据权利要求4所述的跨平台软件开发方法,其特征在于,所述rust工具链包括cargo-ndk工具和cargo-lipo工具中...
【专利技术属性】
技术研发人员:杨柳青,刘刚,尹德帅,
申请(专利权)人:青岛海尔科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。