System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种Android模块化开发公共类复用方法及相关组件技术_技高网

一种Android模块化开发公共类复用方法及相关组件技术

技术编号:40466821 阅读:6 留言:0更新日期:2024-02-22 23:21
本发明专利技术公开了一种Android模块化开发公共类复用方法及相关组件。该方法包括:创建Java的注解类并命名为@Expose注解,并声明为公共类或者公共接口;创建用于过滤@Expose注解的自定义Transform任务;通过自定义Transform任务在项目编译时获取被@Expose注解修饰的类或者接口生成的class文件并拷贝至各个模块的对应子目录下;对class文件进行打jar包操作并生成对应每一个模块子目录的jar包;将jar包发布到maven本地仓库,并在Android工程的根build.gradle文件中,把maven本地仓库添加到仓库声明中;在Android工程的根build.gradle文件中将maven本地仓库的jar包加入到依赖。本发明专利技术通过自定义Transform的方式完成模块化开发中公共类或公共接口的复用,无需手动类或接口进行下沉且模块的独立性不会降低。

【技术实现步骤摘要】

本专利技术涉及android开发,尤其涉及一种android模块化开发公共类复用方法及相关组件。


技术介绍

1、目前的android进行模块化开发时,相同层级模块之间不会相互依赖,但是会有一些公共的类或接口需要在多个模块都会使用到,面着这样多个模块都要遇到的情况,当前的做法是创建一个更底层的模块,把公共的类或者接口下沉到底层模块,来实现类或者接口的复用。但这需要开发人员手动对类或接口进行下沉,如果需要下沉的类或接口中引用其他的类或接口,还需要把引用到的也同步进行下沉,在模块中的类或接口下沉之后,该模块的独立性也会降低。


技术实现思路

1、本专利技术的目的是提供一种android模块化开发公共类复用方法及相关组件,旨在解决现有模块化开发过程中实现类或者接口的复用时,存在需要手动对类或接口进行下沉且模块的独立性也会降低的问题。

2、第一方面,本专利技术实施例提供一种android模块化开发公共类复用方法,包括:

3、创建java的注解类并命名为@expose注解,并声明为公共类或者公共接口;

4、创建用于过滤所述@expose注解的自定义transform任务;

5、通过所述自定义transform任务在项目编译时获取被所述@expose注解修饰的类或者接口生成的class文件并拷贝至各个模块的对应子目录下;

6、通过java语言按模块子目录对所述class文件进行打jar包操作,生成对应每一个模块子目录的jar包;

<p>7、调用mvn命令将所述jar包发布到maven本地仓库,并在android工程的根build.gradle文件中,把所述maven本地仓库添加到仓库声明中;

8、在android工程的根build.gradle文件中,将所述maven本地仓库的jar包加入到依赖,从而完成模块化开发中公共类或公共接口的复用。

9、第二方面,本专利技术实施例提供一种android模块化开发公共类复用装置,包括:

10、第一创建单元,用于创建java的注解类并命名为@expose注解,并声明为公共类或者公共接口;

11、第二创建单元,用于创建用于过滤所述@expose注解的自定义transform任务;

12、任务单元,用于通过所述自定义transform任务在项目编译时获取被所述@expose注解修饰的类或者接口生成的class文件并拷贝至各个模块的对应子目录下;

13、打包单元,用于通过java语言按模块子目录对所述class文件进行打jar包操作,生成对应每一个模块子目录的jar包;

14、添加单元,用于调用mvn命令将所述jar包发布到maven本地仓库,并在android工程的根build.gradle文件中,把所述maven本地仓库添加到仓库声明中;

15、复用单元,用于在android工程的根build.gradle文件中,将所述maven本地仓库的jar包加入到依赖,从而完成模块化开发中公共类或公共接口的复用。

16、第三方面,本专利技术实施例提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的android模块化开发公共类复用方法。

17、第四方面,本专利技术实施例提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的android模块化开发公共类复用方法。

18、本专利技术实施例公开了一种android模块化开发公共类复用方法及相关组件。该方法包括:创建java的注解类并命名为@expose注解,并声明为公共类或者公共接口;创建用于过滤@expose注解的自定义transform任务;通过自定义transform任务在项目编译时获取被@expose注解修饰的类或者接口生成的class文件并拷贝至各个模块的对应子目录下;通过java语言按模块子目录对class文件进行打jar包操作,生成对应每一个模块子目录的jar包;调用mvn命令将jar包发布到maven本地仓库,并在android工程的根build.gradle文件中,把maven本地仓库添加到仓库声明中;在android工程的根build.gradle文件中,将maven本地仓库的jar包加入到依赖,从而完成模块化开发中公共类或公共接口的复用。

19、本专利技术相对现有技术的有益效果为:首先,通过自定义transform的方式完成类或接口的复用,因此无需开发人员手动进行下沉;其次,把class文件生成jar包的过程,即使class类中的依赖其他类或文件不存在,依然可以正常打包并提供给其他模块访问;最后,因为通过本专利技术生成的jar包只参与编译,不参与打包,而被@expose修饰的类或接口还是存在于原来的模块,因此模块的独立性不会降低。

本文档来自技高网
...

【技术保护点】

1.一种Android模块化开发公共类复用方法,其特征在于,包括:

2.根据权利要求1所述的Android模块化开发公共类复用方法,其特征在于,所述创建Java的注解类并命名为@Expose注解,并声明为公共类或者公共接口,包括:

3.根据权利要求2所述的Android模块化开发公共类复用方法,其特征在于,所述创建用于过滤所述@Expose注解的自定义Transform任务,包括:

4.根据权利要求1所述的Android模块化开发公共类复用方法,其特征在于,所述通过所述自定义Transform任务在项目编译时获取被所述@Expose注解修饰的类或者接口生成的class文件并拷贝至各个模块的对应子目录下,包括:

5.根据权利要求1所述的Android模块化开发公共类复用方法,其特征在于,所述通过java语言按模块子目录对所述class文件进行打jar包操作,生成对应每一个模块子目录的jar包,包括:

6.根据权利要求1所述的Android模块化开发公共类复用方法,其特征在于,所述调用mvn命令将所述jar包发布到maven本地仓库,并在Android工程的根build.gradle文件中,把所述maven本地仓库添加到仓库声明中,包括:

7.根据权利要求1所述的Android模块化开发公共类复用方法,其特征在于,所述在Android工程的根build.gradle文件中,将所述maven本地仓库的jar包加入到依赖,从而完成模块化开发中公共类或公共接口的复用,包括:

8.一种Android模块化开发公共类复用装置,其特征在于,包括:

9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的Android模块化开发公共类复用方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的Android模块化开发公共类复用方法。

...

【技术特征摘要】

1.一种android模块化开发公共类复用方法,其特征在于,包括:

2.根据权利要求1所述的android模块化开发公共类复用方法,其特征在于,所述创建java的注解类并命名为@expose注解,并声明为公共类或者公共接口,包括:

3.根据权利要求2所述的android模块化开发公共类复用方法,其特征在于,所述创建用于过滤所述@expose注解的自定义transform任务,包括:

4.根据权利要求1所述的android模块化开发公共类复用方法,其特征在于,所述通过所述自定义transform任务在项目编译时获取被所述@expose注解修饰的类或者接口生成的class文件并拷贝至各个模块的对应子目录下,包括:

5.根据权利要求1所述的android模块化开发公共类复用方法,其特征在于,所述通过java语言按模块子目录对所述class文件进行打jar包操作,生成对应每一个模块子目录的jar包,包括:

6.根据权利要求1所述的android模块化开发公共类复用方法,其...

【专利技术属性】
技术研发人员:刘颖麒王坤辉
申请(专利权)人:深圳市移卡科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1