【技术实现步骤摘要】
一种安卓应用插件化的实现方法、装置、设备及存储介质
本专利技术涉及计算机
,尤其涉及一种安卓应用插件化的实现方法、装置、设备及存储介质。
技术介绍
目前,智能终端已成为多数用户日常生活中必备的电子设备。随着智能终端技术的快速发展,智能终端中的功能也越来越完善,能够安装各种各样的应用程序,可满足用户多样的使用需求。现有技术中,安卓应用程序通常需要经过编译Android工程及打包等操作来生成应用程序安装包,并将应用程序安装包发布至安卓应用商店,待用户从安卓应用商店下载应用程序安装包并安装之后,才能使用应用功能。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:1、如果Android工程过大,编译缓慢,严重影响开发效率;2、所有功能统一发布,发布周期长,不能及时满足市场需求;3、用户需要下载应用程序安装包并需要安装,耗时较长。
技术实现思路
为了解决上述
技术介绍
中提到的至少一个问题,本专利技术提供了一种安卓应用插件化的实现方法、装置、设备及存 ...
【技术保护点】
1.一种安卓应用插件化的实现方法,其特征在于,所述安卓应用包括宿主工程和插件工程,所述方法包括:/n在对所述宿主工程编译生成宿主应用的APK文件后,编译所述插件工程;/n在编译所述插件工程的过程中,将所述插件工程的代码文件中的资源ID修改为属于非系统资源ID类型以及非应用资源ID类型的合法资源ID类型;以及/n若所述插件工程的依赖文件同时被所述宿主工程依赖,则删除所述插件工程的依赖文件,并在编译结束后生成插件APK文件;/n将所述插件APK文件的资源文件中的资源ID修改为属于非系统资源ID类型以及非应用资源ID类型的合法资源ID类型;以及/n在所述插件APK文件中,判断所述 ...
【技术特征摘要】
1.一种安卓应用插件化的实现方法,其特征在于,所述安卓应用包括宿主工程和插件工程,所述方法包括:
在对所述宿主工程编译生成宿主应用的APK文件后,编译所述插件工程;
在编译所述插件工程的过程中,将所述插件工程的代码文件中的资源ID修改为属于非系统资源ID类型以及非应用资源ID类型的合法资源ID类型;以及
若所述插件工程的依赖文件同时被所述宿主工程依赖,则删除所述插件工程的依赖文件,并在编译结束后生成插件APK文件;
将所述插件APK文件的资源文件中的资源ID修改为属于非系统资源ID类型以及非应用资源ID类型的合法资源ID类型;以及
在所述插件APK文件中,判断所述插件工程引用的资源ID对应的资源是否因删除所述依赖文件而不存在,若是,则使用所述宿主工程中对应所述资源的资源ID以替换的方式进行修改所述插件工程引用的资源ID,生成最终的插件APK文件;
发布所述最终的插件APK文件,以供所述宿主应用加载所述最终的插件APK文件。
2.根据权利要求1所述的方法,其特征在于,所述在编译所述插件工程的过程中,将所述插件工程的代码文件中的资源ID修改为属于非系统资源ID类型以及非应用资源ID类型的合法资源ID类型,包括:
根据预设的修改规则,修改所述插件工程的代码文件中所述资源ID的package字段,以使得修改后的所述资源ID为属于非系统资源ID类型以及非应用资源ID类型的合法资源ID类型。
3.根据权利要求1所述的方法,其特征在于,所述将所述插件APK文件的资源文件中的资源ID修改为属于非系统资源ID类型以及非应用资源ID类型的合法资源ID类型,包括:
确定出所述插件APK文件中包含有资源ID的资源文件;
根据预设的修改规则,修改所述插件APK文件的资源文件中所述资源ID的package字段,以使得修改后的所述资源ID为属于非系统资源ID类型以及非应用资源ID类型的合法资源ID类型。
4.根据权利要求1至3任一所述的方法,其特征在于,所述发布所述最终的插件APK文件,以供所述宿主应用加载所述插件APK文件之后,所述方法还包括:
在运行所述宿主应用时,若用户在所述宿主应用上的当前操作触发的目标功能所对应的资源处于所述插件APK文件中,则在所述宿主应用的APK文件中加载所述最终的插件APK文件以运行所述目标功能。
5.一种安卓应用插件化的实现方法,其特征在于,所述安卓应用包括宿主工程和插件工程,所述方法包括:
在对所述宿主工程编译生成宿主应用的APK文件后,编译所述插件工程;
在编译所述插件工程的过程中,若所述插件工程的依赖文件同时被所述宿主工程依赖,则删除所述插件工程的依赖文件,并在编译结束后生成插件APK文件;
在所述插件APK文件中,判断所述插件工程引用的资源ID对应的资源是否因删除所述依赖文件而不存在,若是,则使用所述宿主工程中对应所述资源的资源ID以替换的方...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。