首页> 中国专利> 一种应用程序开发中创建Android库模块依赖关系的方法及装置

一种应用程序开发中创建Android库模块依赖关系的方法及装置

摘要

本申请公开了一种应用程序开发中创建Android库模块依赖关系的方法及装置,在Android应用开发模块的根目录下,分别对每一第一配置文件创建Android库模块文件夹;将Android应用开发模块的动态配置参数和每一Android库模块所需的依赖参数写入第一配置文件中,以模拟每一Android库模块;将每一已模拟的Android库模块的第一配置文件分别添加到主工程的配置文件和Android应用开发模块的第二配置文件中,以建立依赖关系,使得应用程序的Android应用开发模块和主工程根据依赖关系引用已模拟的Android库模块。可见,该方法可动态创建Android库模块,且自动创建的Android库模块可以动态依赖到主工程和Android应用开发模块的配置中,在保证Android应用开发模块和主工程可以引用到Android库模块的同时,简化开发过程,提高开发效率。

著录项

  • 公开/公告号CN112328241A

    专利类型发明专利

  • 公开/公告日2021-02-05

    原文格式PDF

  • 申请/专利权人 北京五八信息技术有限公司;

    申请/专利号CN202011350207.3

  • 发明设计人 曾鹏;

    申请日2020-03-16

  • 分类号G06F8/35(20180101);G06F8/41(20180101);G06F8/71(20180101);

  • 代理机构11319 北京润泽恒知识产权代理有限公司;

  • 代理人吕俊秀

  • 地址 100083 北京市海淀区学清路甲18号中关村东升科技园学院园三层301室

  • 入库时间 2023-06-19 09:47:53

说明书

本申请是在2020年3月16日提交中国专利局、申请号为202010183863.2、发明名称为“一种应用程序开发中创建Android库模块依赖关系的方法及装置”的中国专利申请的分案申请。

技术领域

本申请涉及计算机技术领域,尤其涉及一种应用程序开发中创建Android库模块依赖关系的方法及装置。

背景技术

在对APP中的AAR(Android Archive)依赖大小自动分析计算过程中,其中有一个环节是mock(模拟)一个AAR,即是要把归档的AAR文件解压后只提取其中的资源文件,然后把这些资源文件合并到主工程的资源文件中。AAR是一个Android库项目的二进制归档文件,包含了Java文件、资源文件、AndroidManifest.xml(配置入口)以及build.gradle(打包)配置文件等。

主工程是指开发APP所在业务线的Android代码工程,主工程包括Android应用开发模块和Android库模块。Android库模块(Android Library Module),是在Android代码工程中可以独立运行的一个模块。Android库模块与Android应用开发模块在结构上是相同的,不同之处在于Android库模块可以经过打包生成一个AAR依赖包被其它模块引用,但不能生成apk安装包在手机上运行。而Android应用开发模块可以生成apk安装包在手机上运行,且Android应用开发模块可以引用Android库模块,再通过打包实现APP的某一个功能。

在将AAR中提取的资源文件合并到主工程的资源文件时,如果存在部分资源文件的ID命名相同的情况,则会导致ID命名相同的资源文件无法同时存在,出现冲突。而为避免出现冲突,通常采用的方法是将提取的资源文件放进一个新的Android库模块中。

但是,若要实现新的Android库模块被其他模块引用,需要建立Android库模块与相应模块的依赖关系。而现有的Android库模块的创建方式通常需要借助可视化编译器进行手动创建,目前还无法动态化生成;且在创建时,并不会自动添加依赖关系。可见,若要实现Android库模块被其他模块引用,还需手动添加依赖关系,导致开发Android库模块的过程繁琐,效率低下。

发明内容

本申请提供了一种应用程序开发中创建Android库模块依赖关系的方法及装置,以解决现有的在应用程序开发中创建Android库模块方法的开发效率较低的问题。

第一方面,本申请提供了一种应用程序开发中创建Android库模块依赖关系的方法,包括以下步骤:

在对应用程序的AAR文件执行解压缩提取的第一配置文件以合并到所述应用程序的主工程的配置文件时,对于存在的ID命名相同的第一配置文件,在Android应用开发模块的根目录下,分别对每一所述第一配置文件创建Android库模块文件夹;

获取所述应用程序的Android应用开发模块的第二配置文件,其中,所述第二配置文件包括所述Android应用开发模块的动态配置参数和根目录,所述动态配置参数是指用于保持所述Android应用开发模块与所述Android库模块版本号一致性的参数;

获取每一所述Android库模块所需的依赖参数,所述依赖参数是指用于建立所述Android库模块与所述Android应用开发模块依赖的参数;

将所述动态配置参数和每一所述依赖参数分别写入每一所述Android库模块文件夹的所述第一配置文件中,以模拟每一所述Android库模块;

将每一已模拟的Android库模块的第一配置文件分别添加到所述主工程的配置文件和所述Android应用开发模块的所述第二配置文件中,以对所述应用程序建立每一已模拟的Android库模块分别与所述Android应用开发模块和所述主工程的依赖关系,使得所述应用程序的所述Android应用开发模块和所述主工程根据所述依赖关系引用所述已模拟的Android库模块。

进一步地,所述将动态配置参数和每一所述依赖参数分别写入每一Android库模块文件夹的所述第一配置文件中,包括:

所述动态配置参数包括编译SDK版本号和打包构建工具版本号,所述Android库模块文件夹的第一配置文件包括配置入口配置文件和打包配置文件;

将所述编译SDK版本号和打包构建工具版本号,以动态形式写入每一所述Android库模块文件夹的配置入口配置文件中以及打包配置文件中;

将每一所述Android库模块所需的依赖参数,以静态形式写入每一所述Android库模块文件夹的配置入口配置文件中以及打包配置文件中。

进一步地,所述将每一已模拟的Android库模块的第一配置文件分别添加到所述主工程的配置文件和所述Android应用开发模块的所述第二配置文件中,以对所述应用程序建立每一已模拟的Android库模块分别与所述Android应用开发模块和所述主工程的依赖关系,包括:

获取每一所述已模拟的Android库模块的包名和根目录入口参数;

将每一所述已模拟的Android库模块的包名添加至所述主工程的配置文件中,建立每一所述已模拟的Android库模块与主工程的依赖关系;

获取所述Android应用开发模块中的所述第二配置文件的依赖项参数;

将每一所述已模拟的Android库模块的根目录入口参数添加到所述依赖项参数中,建立每一所述已模拟的Android库模块与Android应用开发模块的依赖关系。

进一步地,还包括:

对具有依赖关系的每一所述已模拟的Android库模块进行编译和打包,得到每一应用apk包,所述应用apk包用于实现已模拟的Android库模块被所述Android应用开发模块和所述主工程的引用。

进一步地,在将所述动态配置参数写入每一所述Android库模块文件夹的所述第一配置文件中之后,还包括:

获取与每一所述Android库模块文件夹的所述第一配置文件对应的配置内容模板;

将获取到的配置内容模板写入每一所述Android库模块文件夹的所述第一配置文件中。

第二方面,本申请提供了一种应用程序开发中创建Android库模块依赖关系的装置,包括:

AAR创建模块,用于在对应用程序的AAR文件执行解压缩提取的第一配置文件以合并到所述应用程序的主工程的配置文件时,对于存在的ID命名相同的第一配置文件,在Android应用开发模块的根目录下,分别对每一所述第一配置文件创建Android库模块文件夹;

配置文件获取模块,用于获取所述应用程序的Android应用开发模块的第二配置文件,其中,所述第二配置文件包括所述Android应用开发模块的动态配置参数和根目录,所述动态配置参数是指用于保持所述Android应用开发模块与所述Android库模块版本号一致性的参数;

依赖参数获取模块,用于获取每一所述Android库模块所需的依赖参数,所述依赖参数是指用于建立所述Android库模块与所述Android应用开发模块依赖的参数;

参数写入模块,用于将所述动态配置参数和每一所述依赖参数分别写入每一所述Android库模块文件夹的所述第一配置文件中,以模拟每一所述Android库模块;

依赖关系建立模块,用于将每一已模拟的Android库模块的第一配置文件分别添加到所述主工程的配置文件和所述Android应用开发模块的所述第二配置文件中,以对所述应用程序建立每一已模拟的Android库模块分别与所述Android应用开发模块和所述主工程的依赖关系,使得所述应用程序的所述Android应用开发模块和所述主工程根据所述依赖关系引用所述已模拟的Android库模块。

进一步地,所述参数写入模块,包括:

所述动态配置参数包括编译SDK版本号和打包构建工具版本号,所述Android库模块文件夹的第一配置文件包括配置入口配置文件和打包配置文件;

第一参数写入单元,用于将所述编译SDK版本号和打包构建工具版本号,以动态形式写入每一所述Android库模块文件夹的配置入口配置文件中以及打包配置文件中;

第二参数写入单元,用于将每一所述模拟Android库模块所需的依赖参数,以静态形式写入每一所述Android库模块文件夹的配置入口配置文件中以及打包配置文件中。

进一步地,所述依赖关系建立模块,包括:

第一参数获取单元,用于获取每一所述已模拟的Android库模块的包名和根目录入口参数;

第一依赖关系建立单元,用于将每一所述已模拟的Android库模块的包名添加至所述主工程的配置文件中,建立所述新生成的Android库模块与主工程的依赖关系;

第二参数获取单元,用于获取所述Android应用开发模块中的所述第二配置文件的依赖项参数;

第二依赖关系建立单元,用于将每一所述已模拟的Android库模块的根目录入口参数添加到所述依赖项参数中,建立每一所述已模拟的Android库模块与Android应用开发模块的依赖关系。

进一步地,还包括:

编译和打包模块,用于对具有依赖关系的每一所述已模拟的Android库模块进行编译和打包,得到每一应用apk包,所述应用apk包用于实现已模拟的Android库模块被所述Android应用开发模块和主工程的引用。

进一步地,还包括:

配置内容模板获取模块,用于获取与每一所述Android库模块文件夹的所述第一配置文件对应的配置内容模板;

配置内容写入模块,用于将获取到的配置内容模板写入每一所述Android库模块文件夹的所述第一配置文件中。

第三方面,本申请提供一种电子设备,包括:

存储器,用于存储程序指令;

处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面所述的应用程序开发中创建Android库模块依赖关系的方法。

第四方面,本申请提供一种存储介质,所述存储介质中存储有计算机程序,当应用程序开发中创建Android库模块依赖关系的装置的至少一个处理器执行所述计算机程序时,应用程序开发中创建Android库模块依赖关系的装置执行第一方面所述的应用程序开发中创建Android库模块依赖关系的方法。

由以上技术方案可知,本申请提供了一种应用程序开发中创建Android库模块依赖关系的方法及装置,在对应用程序的AAR文件执行解压缩提取的第一配置文件以合并到应用程序的主工程的配置文件时,在Android应用开发模块的根目录下,分别对每一第一配置文件创建Android库模块文件夹;获取Android应用开发模块的动态配置参数和每一Android库模块所需的依赖参数。将动态配置参数和每一依赖参数分别写入每一Android库模块文件夹的第一配置文件中,以模拟每一Android库模块;将每一已模拟的Android库模块的第一配置文件分别添加到主工程的配置文件和Android应用开发模块的第二配置文件中,以对应用程序建立每一已模拟的Android库模块分别与Android应用开发模块和主工程的依赖关系,使得应用程序的Android应用开发模块和主工程根据依赖关系引用已模拟的Android库模块。可见,该方法可实现自动化创建过程,在需要创建Android库模块的时候不用人工干预,可以在任何时机通过程序动态创建。且自动创建的每一Android库模块可以动态依赖到主工程和Android应用开发模块的配置中,在应用程序开发中保证Android应用开发模块和主工程可以引用到已模拟的Android库模块的同时,简化开发过程,提高开发效率。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的应用程序开发中创建Android库模块依赖关系的方法的流程图;

图2为本发明实施例提供的参数写入方法的流程图;

图3为本发明实施例提供的建立依赖关系的方法流程图;

图4为本发明实施例提供的应用程序开发中创建Android库模块依赖关系的装置的结构框图;

图5为本发明实施例提供的电子设备的硬件结构示意图。

具体实施方式

为了使创建Android库模块的过程能够动态完成,无需手动借助可视化编译器创建,本发明实施例提供一种运行脚本,能够在计算APP中AAR依赖大小的过程中,将mock AAR中的资源文件提取出来,自动创建一个Android库模块,将提取出的资源文件添加进Android库模块中,避免出现直接将资源文件合并到主工程的资源文件里时产生冲突的现象,开发效率高。

图1为本发明实施例提供的应用程序开发中创建Android库模块依赖关系的方法的流程图。参见图1,本发明实施例提供一种应用程序开发中创建Android库模块依赖关系的方法,执行主体为运行脚本,可自动创建Android库模块,并将Android库模块与主工程和Android应用开发模块建立依赖,该方法包括以下步骤:

S1、在对应用程序的AAR文件执行解压缩提取的第一配置文件以合并到应用程序的主工程的配置文件时,对于存在的ID命名相同的第一配置文件,在Android应用开发模块的根目录下,分别对每一第一配置文件创建Android库模块文件夹。

本实施例提供的方法,应用在应用程序开发,计算AAR依赖大小的过程中,依据mock技术,对AAR文件执行解压缩提取的第一配置文件以合并到应用程序的主工程的配置文件中的场景中,在将第一配置文件合并到主工程的配置文件中时,易因ID命名相同而导致配置文件出现冲突,无法同时存在的现象。为解决该现象,本实施例提供的方法,可以自动创建Android库模块。

创建时,在Android应用开发模块的根目录中,基于第一配置文件创建Android库模块文件夹。Android应用开发模块的根目录是配置文件的最上层参数,运行脚本在根目录下自动创建Android库模块文件,即mock一个Android库模块的AAR文件。第一配置文件可为由AAR文件中提取出的资源文件。

应用程序在开发时,会引用大量的AAR文件,而AAR文件由Android库模块打包生成,因此,可针对由每一AAR文件中提取的第一配置文件分别创建对应的Android库模块文件夹。一个第一配置文件创建一个Android库模块文件夹。

在Android应用开发模块的根目录下生成Android库模块打包生成AAR必须的文件,包括根目录(zucker)、代码和资源文件存放的目录(zucker/src/main)以及配置文件AndroidManifest.xml和build.gradle。

S2、获取应用程序的Android应用开发模块的第二配置文件,其中,第二配置文件包括Android应用开发模块的动态配置参数和根目录,动态配置参数是指用于保持Android应用开发模块与Android库模块版本号一致性的参数。

S3、获取每一Android库模块所需的依赖参数,依赖参数是指用于建立Android库模块与所述Android应用开发模块依赖的参数。

为使自动创建的Android库模块能够与Android应用开发模块建立依赖性,需要在Android库模块中写入Android应用开发模块的相关参数,例如,第二配置文件,包括动态配置参数和根目录。

动态配置参数包括编译SDK版本号(compileSdkVersion)和打包构建工具版本号(buildToolsVersion)。读取Android应用开发模块的配置参数,主要是防止因为参数不一致导致环境不匹配无法顺利打包的问题,也就是说编译SDK版本号和打包构建工具版本号可以保证后续创建的Android库模块与Android应用开发模块具有一致的版本号,以使二者建立依赖。其中,编译SDK版本号和打包构建工具版本号是必须动态写入的。

在计算APP中AAR依赖大小时,通常会mock(模拟)一个AAR,即mock(模拟)一个Android库模块的AAR文件。而原AAR文件中包括Java文件、资源文件、AndroidManifest.xml(配置入口)以及build.gradle(打包)配置文件等。其中,AndroidManifest.xml和build.gradle是每个配置文件必须存在的文件,可以实现Android库模块与Android应用开发模块之间依赖的建立。AndroidManifest.xml用于实现页面配置入口,如启动页、启动类的入口。

也就是说,自动创建Android库模块,需充分了解Android库模块的结构和打包AAR的必备文件。而为后续创建Android库模块并建立依赖,需将mock(模拟)Android库模块时必须的参数提取出来,作为依赖参数,依赖参数包括AndroidManifest.xml相关参数和build.gradle相关参数。一个Android库模块对应一个依赖参数。

S4、将动态配置参数和每一依赖参数分别写入每一Android库模块文件夹的第一配置文件中,以模拟每一Android库模块。

在动态创建每一个Android库模块文件夹(AAR)后,在该文件夹下包括两个配置文件,即配置入口(AndroidManifest.xml)配置文件和打包(build.gradle)配置文件。为便于Android库模块与Android应用开发模块建立依赖,需将Android应用开发模块的动态配置参数写入每一个Android库模块的配置文件中。而为使mock(模拟)的Android库模块与原Android库模块具有相同的配置,需将提取出的模拟Android库模块所需的依赖参数写入Android库模块的第一配置文件中。

Android库模块文件夹被建立后,需向每一个Android库模块文件夹的第一配置文件中写入初始化数据,初始化数据包括Android应用开发模块的动态配置参数和提取出的模拟每一个Android库模块所需的依赖参数。

图2为本发明实施例提供的参数写入方法的流程图。为此,参见图2,为实现相关参数的写入,本实施例按照如下方法进行:

S41、将编译SDK版本号和打包构建工具版本号,以动态形式写入每一Android库模块文件夹的配置入口配置文件中以及打包配置文件中。

Android库模块文件夹的第一配置文件包括配置入口配置文件和打包配置文件;动态配置参数包括编译SDK版本号和打包构建工具版本号,为保证版本号的一致性,编译SDK版本号和打包构建工具版本号需以动态形式写入每一个Android库模块文件夹的两个配置文件中,即在每一个配置入口配置文件中分别动态写入编译SDK版本号和打包构建工具版本号,在每一个打包配置文件中分别动态写入编译SDK版本号和打包构建工具版本号。

S42、将每一模拟Android库模块所需的依赖参数,以静态形式写入每一Android库模块文件夹的配置入口配置文件中以及打包配置文件中。

模拟每一个Android库模块所需的依赖参数包括AndroidManifest.xml(页面配置入口)相关参数和build.gradle(打包配置)相关参数。将AndroidManifest.xml(页面配置入口)相关参数和build.gradle(打包配置)相关参数分别以静态形式,如按照常用写入模块,写入每一个配置入口配置文件中和打包配置文件中,即在每一个配置入口配置文件中静态写入AndroidManifest.xml(页面配置入口)相关参数,在每一个打包配置文件中静态写入build.gradle(打包配置)相关参数。

在一个实施例中,在将所述动态配置参数写入每一所述Android库模块文件夹的所述第一配置文件中之后,还可选包括:获取与每一所述Android库模块文件夹的所述第一配置文件对应的配置内容模板;将获取到的配置内容模板写入每一所述Android库模块文件夹的所述第一配置文件中。

每一Android库模块文件夹的所述第一配置文件中除了包括所述动态配置参数和依赖参数外,还包括其他配置内容,其他配置内容可以预先设置为配置内容模板,在将动态配置参数和每一依赖参数写入第一配置文件后,获取第一配置文件对应的配置内容模板,将配置内容模板写入每一Android库模块文件夹的所述第一配置文件中,完成对每一Android库模块文件夹的所述第一配置文件的配置。

每一个Android库模块文件夹的第一配置文件中在写入初始化数据之外,还可将其他配置内容按照常用写入模板,写入Android库模块文件夹的配置文件中。例如,将与Android库模块相关的参数,如根目录(zucker)、代码和资源文件存放的目录(zucker/src/main)等,均写入每一个Android库模块文件夹的第一配置文件中。

在动态生成Android库模块的基础上,还可以满足用户更多的扩展,比如:开发者还可以在生成Android库模块的同时初始化配置,将新需求的代码写进去,从而实现更丰富的Android库模块创建。写入新代码实现功能的过程可在向创建的Android库模块文件夹的过程中执行。

本实施例提供的写入方法,可使每一个Android库模块文件夹中build.gradle配置文件中的必要参数配置和Android应用开发模块的保持一致,进而保证和可视化编译器手动创建出的结果是一致的,且能够正常打包生成AAR归档文件。

运行脚本创建的Android库模块中,在分别写入动态配置参数和依赖参数后,得到已模拟的Android库模块。已模拟的Android库模块为mock的Android库模块,具有与原Android库模块相同的资源文件和相关配置。

S5、将每一已模拟的Android库模块的第一配置文件分别添加到主工程的配置文件和Android应用开发模块的所述第二配置文件中,以对应用程序建立每一已模拟的Android库模块分别与Android应用开发模块和主工程的依赖关系,使得应用程序的Android应用开发模块和主工程根据所述依赖关系引用已模拟的Android库模块。

主工程为一个壳工程,由多个模块构成,如Android应用开发模块和Android库模块等。当Android库模块创建完成后,它其实处于一个游离状态,并没有关联到主工程里,即没有被Android应用开发模块引用。此时,还需要最后一步,把每一个已模拟的Android库模块依赖添加到主工程以及Android应用开发模块的配置中,这样才能完整的打包输出含有Android库模块代码和资源文件的安装包。

也就是说,在完成Android库模块的创建后,为使已模拟的Android库模块能够被其他模块引用,如被Android应用开发模块和主工程引用,以生成安装包在终端上运行。本实施例中,需建立每一个已模拟的Android库模块分别与主工程和Android应用开发模块的依赖关系。

自动添加依赖关系的方法需向主工程的配置文件和Android应用开发模块的配置文件中写入每一个已模拟的Android库模块的第一配置文件。

图3为本发明实施例提供的建立依赖关系的方法流程图。具体地,本实施例中,参见图3,按照下述步骤建立每一已模拟的Android库模块分别与Android应用开发模块和主工程的依赖关系,包括:

S51、获取每一已模拟的Android库模块的包名和根目录入口参数。

在向主工程添加依赖时,需要以Android库模块的包名作为添加标识。原Android库模块具有相应的包名,而每一已模拟的Android库模块为mock原Android库模块而得到,因此,每一已模拟的Android库模块的包名与对应的原Android库模块的包名相同。

在向Android应用开发模块添加依赖时,需要以每一已模拟的Android库模块的根目录入口参数作为添加标识。根目录入口参数可以提供Android应用开发模块引用时的入口。

S52、将每一已模拟的Android库模块的包名添加至主工程的配置文件中,建立每一已模拟的Android库模块与主工程的依赖关系。

向主工程中添加依赖,主要是向主工程的settings.gradle文件中,按脚本语句追加每一已模拟的Android库模块的名称,即将每一已模拟的Android库模块的包名添加至主工程的配置文件(settings.gradle)中,建立每一已模拟的Android库模块与主工程的依赖关系。

S53、获取Android应用开发模块中的第二配置文件的依赖项参数。

在向Android应用开发模块添加依赖时,需要引入新依赖的参数为Android应用开发模块的依赖项(dependences)参数,依赖项参数可配置在第二配置文件中,依赖项参数可以实现每一已模拟的Android库模块与Android应用开发模块之间建立依赖关系。

S54、将每一已模拟的Android库模块的根目录入口参数添加到依赖项参数中,建立每一已模拟的Android库模块与Android应用开发模块的依赖关系。

向Android应用开发模块中添加依赖,就是在Android应用开发模块的依赖项参数中加入一行依赖语句:implementation project(':zucker'),实现每一已模拟的Android库模块的根目录入口参数添加到依赖项参数中,建立每一已模拟的Android库模块与Android应用开发模块的依赖关系。

通过上述方法,便可以动态生成Android库模块并主动添加依赖,从而替代了人工依赖可视化工具创建Android库模块的工作,开发过程简单,使得Android库模块的开发效率更高。

在完成每一已模拟的Android库模块与主工程和Android应用开发模块添加依赖关系之后,对具有依赖关系的每一已模拟的Android库模块进行编译和打包,得到每一应用apk包,应用apk包用于实现已模拟的Android库模块被Android应用开发模块和主工程的引用。

对每一已模拟的Android库模块进行编译和打包,其包括的根目录(zucker)、代码和资源文件存放的目录(zucker/src/main)以及配置文件打包为同级的文件夹,通过完整的打包输出含有Android库模块代码和资源文件的安装包(应用apk包)。

由以上技术方案可知,本发明实施例提供的一种应用程序开发中创建Android库模块依赖关系的方法,在对应用程序的AAR文件执行解压缩提取的第一配置文件以合并到应用程序的主工程的配置文件时,在Android应用开发模块的根目录下,分别对每一第一配置文件创建Android库模块文件夹;获取Android应用开发模块的动态配置参数和每一Android库模块所需的依赖参数。将动态配置参数和每一依赖参数分别写入每一Android库模块文件夹的第一配置文件中,以模拟每一Android库模块;将每一已模拟的Android库模块的第一配置文件分别添加到主工程的配置文件和Android应用开发模块的第二配置文件中,以对应用程序建立每一已模拟的Android库模块分别与Android应用开发模块和主工程的依赖关系,使得应用程序的Android应用开发模块和主工程根据依赖关系引用已模拟的Android库模块。可见,该方法可实现自动化创建过程,在需要创建Android库模块的时候不用人工干预,可以在任何时机通过程序动态创建。且自动创建的每一Android库模块可以动态依赖到主工程和Android应用开发模块的配置中,在应用程序开发中保证Android应用开发模块和主工程可以引用到已模拟的Android库模块的同时,简化开发过程,提高开发效率。

图4为本发明实施例提供的应用程序开发中创建Android库模块依赖关系的装置的结构框图。参见图4,本申请提供了一种应用程序开发中创建Android库模块依赖关系的装置,用于执行图1所示的应用程序开发中创建Android库模块依赖关系的方法的相关步骤,该装置包括:AAR创建模块10,用于在对应用程序的AAR文件执行解压缩提取的第一配置文件以合并到所述应用程序的主工程的配置文件时,对于存在的ID命名相同的第一配置文件,在Android应用开发模块的根目录下,分别对每一所述第一配置文件创建Android库模块文件夹;配置文件获取模块20,用于获取所述应用程序的Android应用开发模块的第二配置文件,其中,所述第二配置文件包括所述Android应用开发模块的动态配置参数和根目录,所述动态配置参数是指用于保持所述Android应用开发模块与所述Android库模块版本号一致性的参数;依赖参数获取模块30,用于获取每一所述Android库模块所需的依赖参数,所述依赖参数是指用于建立所述Android库模块与所述Android应用开发模块依赖的参数;参数写入模块40,用于将所述动态配置参数和每一所述依赖参数分别写入每一所述Android库模块文件夹的所述第一配置文件中,以模拟每一所述Android库模块;依赖关系建立模块50,用于将每一已模拟的Android库模块的第一配置文件分别添加到所述主工程的配置文件和所述Android应用开发模块的所述第二配置文件中,以对所述应用程序建立每一已模拟的Android库模块分别与所述Android应用开发模块和所述主工程的依赖关系,使得所述应用程序的所述Android应用开发模块和所述主工程根据所述依赖关系引用所述已模拟的Android库模块。

进一步地,所述参数写入模块40,包括:所述动态配置参数包括编译SDK版本号和打包构建工具版本号,所述Android库模块文件夹的第一配置文件包括配置入口配置文件和打包配置文件;第一参数写入单元,用于将所述编译SDK版本号和打包构建工具版本号,以动态形式写入每一Android库模块文件夹的配置入口配置文件中以及打包配置文件中;第二参数写入单元,用于将每一所述模拟Android库模块所需的依赖参数,以静态形式写入每一Android库模块文件夹的配置入口配置文件中以及打包配置文件中。

进一步地,所述依赖关系建立模块50,包括:第一参数获取单元,用于获取每一所述已模拟的Android库模块的包名和根目录入口参数;第一依赖关系建立单元,用于将每一所述已模拟的Android库模块的包名添加至所述主工程的配置文件中,建立所述新生成的Android库模块与主工程的依赖关系;第二参数获取单元,用于获取所述Android应用开发模块中的所述第二配置文件的依赖项参数;第二依赖关系建立单元,用于将每一所述已模拟的Android库模块的根目录入口参数添加到所述依赖项参数中,建立每一所述已模拟的Android库模块与Android应用开发模块的依赖关系。

进一步地,还包括:编译和打包模块,用于对具有依赖关系的每一所述已模拟的Android库模块进行编译和打包,得到每一应用apk包,应用apk包用于实现已模拟的Android库模块被Android应用开发模块和主工程的引用。

进一步地,还包括:

配置内容模板获取模块,用于获取与每一所述Android库模块文件夹的所述第一配置文件对应的配置内容模板;

配置内容写入模块,用于将获取到的配置内容模板写入每一所述Android库模块文件夹的所述第一配置文件中。

图5为本发明实施例提供的电子设备的硬件结构示意图。如图5所示,本申请提供一种电子设备,包括:存储器601,用于存储程序指令;处理器602,用于调用并执行所述存储器中的程序指令,以实现前述实施例所述的应用程序开发中创建Android库模块依赖关系的方法。

本实施例中,处理器602和存储器601可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。

本申请提供一种存储介质,所述存储介质中存储有计算机程序,当应用程序开发中创建Android库模块依赖关系的装置的至少一个处理器执行所述计算机程序时,应用程序开发中创建Android库模块依赖关系的装置执行前述实施例所述的应用程序开发中创建Android库模块依赖关系的方法。

所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于应用程序开发中创建Android库模块依赖关系的装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号