一种Android自定义控件的扩展开发方法及装置制造方法
【专利摘要】本发明公开了一种Android自定义控件的扩展开发方法及装置,所述方法通过将编写的自定义控件源代码生成自定义控件源码包,将加入的图片资源生成系统视图资源包,根据所述自定义控件源码包和系统视图资源包生成相应的自定义控件插件包;启动模拟器时,通过系统初始化配置文件进行系统配置定义,加载所述模拟器镜像文件中的自定义控件源码包;启动Android平台的Java虚拟机时,预加载所述模拟器镜像文件中的系统视图资源包;运行应用安装包,调用自定义控件源代码并读取图片资源,完成自定义控件的开发;使得应用包解析时就能够调用自定义控件中的所有资源,从而提高了对Android自定义控件扩展开发的效率和灵活性。
【专利说明】一种Android自定义控件的扩展开发方法及装置
【技术领域】
[0001]本发明涉及Android自定义控件开发领域,尤其涉及的是一种Android自定义控件的扩展开发方法及装置。
【背景技术】
[0002]基于安卓(android)深度定制的系统,无论是MIUI或Smartisan OS等系统都在UI下足了功夫,作为最直观最直接影响用户体验的因素,UI界面设计往往需要不断变化并快速投入到开发团队中使用。而目前的方式都是通过直接修改源码框架层进行自定义控件开发,这种对源码依赖过高且无法进行复用的开发方式显然不利于大型的团队协作开发,这种开发方式的效率低,且很不灵活,给开发人员带来了大大的不便。
[0003]因此,现有技术还有待于改进和发展。
【发明内容】
[0004]本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种Android自定义控件的扩展开发方法及装置,旨在解决现有技术中Android自定义控件扩展开发时,需要大量修改Android框架中的源码,重新编译生成整个新的框架层内容,可移植性差,可复制性差,使得Android自定义控件的扩展开发方法的效率低且不够灵活的问题。
[0005]本发明解决技术问题所采用的技术方案如下:
一种Android自定义控件的扩展开发方法,其中,包括以下步骤:
A、将编写的自定义控件源代码生成自定义控件源码包,将加入的图片资源生成系统视图资源包,根据所述自定义控件源码包和系统视图资源包生成相应的自定义控件插件包;
B、将所述自定义控件插件包解压到Android软件开发工具中,得到自定义控件源码包,并将系统初始化配置文件和自定义控件插件包生成相应的模拟器镜像文件;
C、配置所述自定义控件源码包作为自定义库载入应用工程;
D、应用工程通过所述自定义控件源码包调用自定义控件的属性和方法,编译打包生成具有自定义控件特性的应用安装包;
E、通过Android软件开发工具创建模拟器,并加载所述模拟器镜像文件;
F、启动所述模拟器,通过系统初始化配置文件进行系统配置定义,加载所述模拟器镜像文件中的自定义控件源码包以供应用安装包运行时调用;
G、启动Android平台的Java虚拟机,预加载所述模拟器镜像文件中的系统视图资源包以供应用安装包运行时调用;
H、运行应用安装包,调用自定义控件源代码并读取图片资源,调试应用控件效果,完成自定义控件的开发。
[0006]所述的Android自定义控件的扩展开发方法,其中,所述步骤A具体包括:
Al、编写自定义控件源代码,放置在自定义控件目录下,编写对应的Android编译配置文件,并生成相应的自定义控件源码包; A2、加入所需图片资源,编写各个资源的配置定义文件,放置在自定义控件目录下,根据所述自定义控件源代码与图片资源的映射关系生成相应的映射关系文件并放置在自定义控件目录下,并生成相应的系统视图资源包;
A3、将所述自定义控件源码包和所述系统视图资源包压缩生成相应的自定义控件插件包。
[0007]所述的Android自定义控件的扩展开发方法,其中,所述步骤B还包括:
B0、修改系统初始化配置文件中的虚拟机默认加载的系统基本库路径配置环境变量配置。
[0008]所述的Android自定义控件的扩展开发方法,其中,所述步骤G具体包括:
G0、启动Android平台的Java虚拟机,通过孵化器进程初始化预加载系统视图资源包。
[0009]所述的Android自定义控件的扩展开发方法,其中,所述步骤G还包括:
G1、在应用安装包运行时,Android平台的Java虚拟机加载系统资源包内图片资源及对应的映射关系文件,以供应用安装包解析调用。
[0010]—种Android自定义控件的扩展开发装置,其中,包括:
自定义控件插件包生成模块,用于将编写的自定义控件源代码生成自定义控件源码包,将加入的图片资源生成系统视图资源包,根据所述自定义控件源码包和系统视图资源包生成相应的自定义控件插件包;
解压及镜像模块,用于将所述自定义控件插件包解压到Android软件开发工具中,得到自定义控件源码包,并将系统初始化配置文件和自定义控件插件包生成相应的模拟器镜像文件;
配置模块,用于配置所述自定义控件源码包作为自定义库载入应用工程;
应用安装包生成模块,用于应用工程通过所述自定义控件源码包调用自定义控件的属性和方法,编译打包生成具有自定义控件特性的应用安装包;
模拟器创建模块,用于通过Android软件开发工具创建模拟器,并加载所述模拟器镜像文件;
模拟器加载模块,用于启动所述模拟器,通过系统初始化配置文件进行系统配置定义,加载所述模拟器镜像文件中的自定义控件源码包以供应用安装包运行时调用;
Java虚拟机加载模块,用于启动Android平台的Java虚拟机,预加载所述模拟器镜像文件中的系统视图资源包以供应用安装包运行时调用;
调试模块,用于运行应用安装包,调用自定义控件源代码并读取图片资源,调试应用控件效果,完成自定义控件的开发。
[0011]所述的Android自定义控件的扩展开发装置,其中,所述自定义控件插件包生成模块具体包括:
自定义控件源码包生成单元,用于编写自定义控件源代码,放置在自定义控件目录下,编写对应的Android编译配置文件,并生成相应的自定义控件源码包;
系统视图资源包生成单元,用于加入所需图片资源,编写各个资源的配置定义文件,放置在自定义控件目录下,根据所述自定义控件源代码与图片资源的映射关系生成相应的映射关系文件并放置在自定义控件目录下,并生成相应的系统视图资源包;
自定义控件插件包生成单元,用于将所述自定义控件源码包和所述系统视图资源包压缩生成相应的自定义控件插件包。
[0012]所述的Android自定义控件的扩展开发装置,其中,所述解压及镜像模块还包括: 系统初始化配置文件修改单元,用于修改系统初始化配置文件中的虚拟机默认加载的
系统基本库路径配置环境变量配置。
[0013]所述的Android自定义控件的扩展开发装置,其中,所述Java虚拟机加载模块用于启动Android平台的Java虚拟机,通过孵化器进程初始化预加载系统视图资源包。
[0014]所述的Android自定义控件的扩展开发装置,其中,所述Java虚拟机加载模块还包括:
映射关系文件加载单元,用于在应用安装包运行时,Android平台的Java虚拟机加载系统资源包内图片资源及对应的映射关系文件,以供应用安装包解析调用。
[0015]本发明所提供的一种Android自定义控件的扩展开发方法及装置,有效地解决了现有的Android自定义控件在开发的时候,对源码依赖过高,无法进行复用的问题,所述方法通过定义了 Android自定义控件插件包,将编写的自定义控件源代码生成自定义控件源码包,将加入的图片资源生成系统视图资源包,根据所述自定义控件源码包和系统视图资源包生成相应的自定义控件插件包;所述自定义控件插件包包含自定义控件源码包和系统视图资源包,自定义控件源码包在Android系统初始化时作为基础库加载,而将系统视图资源包独立出来,在Android平台的Java虚拟机启动时默认预加载,使得应用安装包解析时能调用自定义控件插件包中的所有资源,本发明利用Android框架和插件式的集成方式,把控件扩展的功能封装打包插入到集成开发环境和模拟器中,将控件中可变、可复用和独立功能的部分从Android原先的框架中分离出来,形成一个相对独立的模块,从而提高了对Android系统控件扩展开发的效率和灵活性,为用户带来了大大的方便。
【专利附图】
【附图说明】
[0016]图1为本发明提供的Android自定义控件的扩展开发方法较佳实施例的流程图。
[0017]图2为本发明提供的Android自定义控件的扩展开发方法较佳实施例中生成自定义控件插件包的示意图。
[0018]图3为本发明提供的Android自定义控件的扩展开发装置较佳实施例的结构框图。
【具体实施方式】
[0019]本发明提供一种Android自定义控件的扩展开发方法及装置,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0020]针对现有技术都是通过直接修改源码框架层进行自定义控件开发,这种开发方法对源码依赖过高,无法进行复用,显然不适用于大型的团队协作开发。本发明提供了一种基于插件式的Android控件扩展开发方法,利用Android框架和插件式的集成方式,生成相应的Android自定义控件插件包,把控件扩展的功能封装成打包格式插入到集成开发环境和模拟器中,将控件作为可变,可复用和独立功能的部分从Android原先的框架中分离出来,形成一个相对独立的模块。Android自定义控件插件包包含两部分逻辑部件和视图部件,逻辑部件在Android系统初始化时作为基础库加载,而视图部件从系统视图资源中独立出来,编译后合并在系统视图资源包中,在Android平台的Java虚拟机启动会默认预加载,应用包解析时就能够调用自定义控件中的所有资源,从而提高了对Android系统控件扩展开发的效率和灵活性。
[0021]请参阅图1,图1为本发明提供的Android自定义控件的扩展开发方法较佳实施例的流程图,如图所示,所述Android自定义控件的扩展开发方法包括以下步骤:
步骤S100、将编写的自定义控件源代码生成自定义控件源码包,将加入的图片资源生成系统视图资源包,根据所述自定义控件源码包和系统视图资源包生成相应的自定义控件插件包;
步骤S200、将所述自定义控件插件包解压到Android软件开发工具中,得到自定义控件源码包,并将系统初始化配置文件和自定义控件插件包生成相应的模拟器镜像文件;步骤S300、配置所述自定义控件源码包作为自定义库载入应用工程;
步骤S400、应用工程通过所述自定义控件源码包调用自定义控件的属性和方法,编译打包生成具有自定义控件特性的应用安装包;
步骤S500、通过Android软件开发工具创建模拟器,并加载所述模拟器镜像文件;
步骤S600、启动所述模拟器,通过系统初始化配置文件进行系统配置定义,加载所述模拟器镜像文件中的自定义控件源码包以供应用安装包运行时调用;
步骤S700、启动Android平台的Java虚拟机,预加载所述模拟器镜像文件中的系统视图资源包以供应用安装包运行时调用;
步骤S800、运行应用安装包 ,调用自定义控件源代码并读取图片资源,调试应用控件效果,完成自定义控件的开发。
[0022]下面对上述步骤进行详细的描述和说明。
[0023]请参阅图2,图2为本发明提供的Android自定义控件的扩展开发方法较佳实施例中生成自定义控件插件包的示意图。具体来说,所述步骤SlOO包括:
S110、编写自定义控件源代码,放置在自定义控件目录下,编写对应的Android编译配置文件,并生成相应的自定义控件源码包。所述步骤SllO用于生成Android自定义控件插件包的逻辑部分。具体来说,编写自定义控件源代码Widget_l.java、Widget_2.java、…、ffidget_N.java放置在自定义控件目录下,编写对应的Android编译配置文件(Andorid.mk),最后生成自定义控件源码包(widget, jar),从而将逻辑部件打包成为单独的jar包。
[0024]S120、加入所需图片资源,编写各个资源的配置定义文件,放置在自定义控件目录下,根据所述自定义控件源代码与图片资源的映射关系生成相应的映射关系文件并放置在自定义控件目录下,并生成相应的系统视图资源包。所述步骤S120用于生成Android自定义控件插件包的视图部分。具体来说,加入所需图片资源,编写各个资源的配置定义文件,放置在自定义控件目录下的frameworks/base/core/res/res中,如图片资源存放路径(/drawable)、布局配置文件存放路径(/]^70111:)等,而资源映射关系文件通过〈3(1(1-代80111^6type=〃*〃 name=〃*〃 />放置在资源参数描述文件存放路径frameworks/base/core/res/res/value目录下,这部分会根据软件开发工具包编译配置文件(SDK.mk)中产品替换系统资源的路径配置的定义修改,合并编译到系统视图资源包(framework-res.apk)中,该资源会复制添加到该Android应用安装包(apk)的对应目录下,其中,/value会对应生成资源定义映射文件(resource, arse)来表示系统资源和自定义资源的映射ID。
[0025]S130、将所述自定义控件源码包和所述系统视图资源包压缩生成相应的自定义控件插件包。具体来说,将逻辑部分的自定义控件源码包和视图部分的系统视图资源包合并压缩生成相应的自定义控件插件包。Android控件扩展插件包分为逻辑部件即java代码所实现的控件应用程序编程接口(API),视图部件即图片和图片属性配置定义文件等两部分。
[0026]在步骤S200中,开发者在获取Android控件扩展插件包后,解压该包到Andorid软件开发工具包(Andorid SDK)中,得到自定义控件应用程序编程接口(API)的jar包和模拟器镜像文件。所述模拟器镜像文件由系统初始化配置文件和自定义控件插件包生成。在软件开发工具包(SDK)编译时,逻辑部件和视图部件都会最终集成到模拟器镜像中。优选地,由于widget, jar并不在Android框架内,因此需要修改系统初始化配置文件中的虚拟机默认加载的系统基本库路径配置环境变量配置,增加到Android系统启动加载基本库流程中,使得逻辑部件能够被系统加载从而进一步提供给应用调用。
[0027]在步骤S300中,集成开发环境配置插件中自定义控件源码包作为应用工程的第三方库载入,即将解压后的路径配置到软件开发工具包(SDK)编译引用库中。
[0028]在步骤S400中,应用工程通过所述自定义控件源码包调用自定义控件的属性和方法,编译打包生成具有自定义控件特性的应用安装包。具体来说,当应用工程源码编写时通过对自定义控件API完成对自定义控件属性和方法的调用,编译打包生成具有自定义公共控件特性的应用apk。由于SDK在控件扩展应用apk生成时,对widget, jar中的各个java进行编译,所以SDK在解压插件包后,将widget, jar导入集成开发环境作为第三方开发包引入。
[0029]在步骤S500中,Android软件开发工具SDK创建模拟器,加载插件包解压路径中的镜像文件。
[0030]在步骤S600中,启动所述模拟器,通过系统初始化配置文件进行系统配置定义,加载所述模拟器镜像文件中的自定义控件源码包以供应用安装包运行时调用。具体来说,模拟器启动时,通过系统初始化配置文件进行系统配置定义,加载镜像文件中的自定义控件jar包,作为系统基础库运行。
[0031]在步骤S700中,启动Android平台的Java虚拟机,预加载所述模拟器镜像文件中的系统视图资源包以供应用安装包运行时调用。具体来说,Android平台的Java虚拟机启动后会预加载镜像文件中的系统视图资源包,这时,自定义控件的所有图片和相关属性也会被加载。
[0032]在步骤S800中,开发者运行应用安装包,调用自定义控件源代码并读取图片资源,调试应用控件效果,完成自定义控件的开发。具体来说,开发者运行Android应用安装包(apk)时,通过上述步骤S600和S700便能够完成对自定义控件源码调用和图片资源读取,最终完成自定义控件开发。
[0033]优选地,所述步骤S700具体包括:启动Android平台的Java虚拟机,通过孵化器进程初始化预加载系统视图资源包。具体来说,系统视图资源包framework-res.apk根据Android资源获取机制,在Android平台的Java虚拟机启动时,进行虚拟机实例的孵化器(Zygote)进程初始化预加载到Android运行时(AndroidRuntime)的,这样,应用便可以直接引用包括自定义控件在内的所有资源进行自定义公共控件扩展开发。[0034]优选地,所述步骤S700还包括:在应用安装包运行时,Android平台的Java虚拟机加载系统资源包内图片资源及对应的映射关系文件,以供应用安装包解析调用。具体来说,在控件扩展应用apk运行时,复制镜像包到模拟器中,Android初始化时便加载widget,jar, Android平台的Java虚拟机加载framework-res.apk内资源及其映射对应关系的文件,提供给应用apk完成解析调用,实现插件包内各个部件的交互操作,完成对Android自定义控件的扩展开发。
[0035]本发明提供的Android自定义控件的扩展开发方法,首先提供了一个Android控件扩展插件包,所述Android控件扩展插件包分为逻辑部件即java代码所实现的控件AP1、以及视图部件即图片和图片属性配置定义文件等两部分;逻辑部件打包成为单独的jar包,通过系统初始化配置文件中的虚拟机默认加载的系统基本库路径配置增加该jar,作为系统初始化基本库之一加载;视图部件通过修改产品替换系统资源的路径配置指向资源所在路径,最终打包到系统视图资源包framework-res.apk中,当Android平台的Java虚拟机启动时就会默认加载该apk ;上述步骤没有对Android framework层(Android框架层)代码进行修改,完全独立与框架层代码,因此具有很好的可复用性和跨平台特性。
[0036]为了提供开发者开发调试,将插件包会进一步编译打包为第三方库,模拟器镜像逻辑部件和视图部件;开发Android自定义控件的应用工程时,集成开发环境会加载逻辑部件的jar包供工程调用,而视图部件是逻辑部件代码调用时才会需要的,因此不需要提供给集成开发环境JfSAndroid自定义控件的应用工程时,创建模拟器会使用插件包中的镜像,镜像包括系统初始化配置文件,逻辑部件的jar包和包含了视图部件的系统视图资源包framework-res.apk,应用apk解析时,能够同时加载到自定义控件的逻辑部件和视图部件,完成APK源码对控件API的调用和APK资源包对控件图片和配置文件的解析;最后将应用的Π显示在模拟器界面上,从而完成基于插件式的Android控件扩展开发。本发明采用两种途径来分别完成逻辑部件和视图部件对Android框架层的脱离,实现了控件扩展的独立性,并最后以插件的方式集成到Android软件开发工具包(Android SDK)中,提供了一个完整的自定义控件扩展方法。
[0037]基于上述Android自定义控件的扩展开发方法,本发明还提供了一种Android自定义控件的扩展开发装置,如图3所示,包括:
自定义控件插件包生成模块10,用于将编写的自定义控件源代码生成自定义控件源码包,将加入的图片资源生成系统视图资源包,根据所述自定义控件源码包和系统视图资源包生成相应的自定义控件插件包;具体如步骤SlOO所述。
[0038]解压及镜像模块20,用于将所述自定义控件插件包解压到Android软件开发工具中,得到自定义控件源码包,并将系统初始化配置文件和自定义控件插件包生成相应的模拟器镜像文件;具体如步骤S200所述。
[0039]配置模块30,用于配置所述自定义控件源码包作为自定义库载入应用工程;具体如步骤S300所述。
[0040]应用安装包生成模块40,用于应用工程通过所述自定义控件源码包调用自定义控件的属性和方法,编译打包生成具有自定义控件特性的应用安装包;具体如步骤S400所述。
[0041]模拟器创建模块50,用于通过Android软件开发工具创建模拟器,并加载所述模拟器镜像文件;具体如步骤S500所述。
[0042]模拟器加载模块60,用于启动所述模拟器,通过系统初始化配置文件进行系统配置定义,加载所述模拟器镜像文件中的自定义控件源码包以供应用安装包运行时调用;具体如步骤S600所述。
[0043]Java虚拟机加载模块70,用于启动Android平台的Java虚拟机,预加载所述模拟器镜像文件中的系统视图资源包以供应用安装包运行时调用;具体如步骤S700所述。
[0044]调试模块80,用于运行应用安装包,调用自定义控件源代码并读取图片资源,调试应用控件效果,完成自定义控件的开发;具体如步骤S800所述。
[0045]进一步地,所述自定义控件插件包生成模块10具体包括:
自定义控件源码包生成单元,用于编写自定义控件源代码,放置在自定义控件目录下,编写对应的Android编译配置文件,并生成相应的自定义控件源码包;
系统视图资源包生成单元,用于加入所需图片资源,编写各个资源的配置定义文件,放置在自定义控件目录下,根据所述自定义控件源代码与图片资源的映射关系生成相应的映射关系文件并放置在自定义控件目录下,并生成相应的系统视图资源包;
自定义控件插件包生成单元,用于将所述自定义控件源码包和所述系统视图资源包压缩生成相应的自定义控件插件包。
[0046]进一步地,所述解压及镜像模块20还包括:
系统初始化配置文件修改单元,用于修改系统初始化配置文件中的虚拟机默认加载的系统基本库路径配置环境变量配置。
[0047]进一步地,所述Java虚拟机加载模块70用于启动Android平台的Java虚拟机,通过孵化器进程初始化预加载系统视图资源包。
[0048]进一步地,所述Java虚拟机加载模块70还包括:
映射关系文件加载单元,用于在应用安装包运行时,Android平台的Java虚拟机加载系统资源包内图片资源及对应的映射关系文件,以供应用安装包解析调用。
[0049]综上所述,本发明提供的一种Android自定义控件的扩展开发方法及装置,所述方法通过将编写的自定义控件源代码生成自定义控件源码包作为逻辑部件,将加入的图片资源生成系统视图资源包作为视图部件,Android自定义控件插件包包含两部分逻辑部件和视图部件,逻辑部件在Android系统初始化时作为基础库加载,而视图部件从系统视图资源中独立出来,编译后合并在系统视图资源包中,在Android平台的Java虚拟机启动会默认预加载,使得应用包解析时就能够调用自定义控件中的所有资源,通过Android框架和插件式的集成方式,把控件扩展的功能封装成打包格式插入到集成开发环境和模拟器中,将控件中可变、可复用和独立功能的部分从Android原先的框架中分离出来,形成一个相对独立的模块,从而提高了对Android系统控件扩展开发的效率和灵活性。
[0050]应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【权利要求】
1.一种Android自定义控件的扩展开发方法,其特征在于,包括以下步骤: A、将编写的自定义控件源代码生成自定义控件源码包,将加入的图片资源生成系统视图资源包,根据所述自定义控件源码包和系统视图资源包生成相应的自定义控件插件包; B、将所述自定义控件插件包解压到Android软件开发工具中,得到自定义控件源码包,并将系统初始化配置文件和自定义控件插件包生成相应的模拟器镜像文件; C、配置所述自定义控件源码包作为自定义库载入应用工程; D、应用工程通过所述自定义控件源码包调用自定义控件的属性和方法,编译打包生成具有自定义控件特性的应用安装包; E、通过Android软件开发工具创建模拟器,并加载所述模拟器镜像文件; F、启动所述模拟器,通过系统初始化配置文件进行系统配置定义,加载所述模拟器镜像文件中的自定义控件源码包以供应用安装包运行时调用; G、启动Android平台的Java虚拟机,预加载所述模拟器镜像文件中的系统视图资源包以供应用安装包运行时调用; H、运行应用安装包,调用自定义控件源代码并读取图片资源,调试应用控件效果,完成自定义控件的开发。
2.根据权利要求1所述的Android自定义控件的扩展开发方法,其特征在于,所述步骤A具体包括: Al、编写自定义控件源代码,放置在自定义控件目录下,编写对应的Android编译配置文件,并生成相应的自定义控件源码包; A2、加入所需图片资源,编写各个资源的配置定义文件,放置在自定义控件目录下,根据所述自定义控件源代码与图片资源的映射关系生成相应的映射关系文件并放置在自定义控件目录下,并生成相应的系统视图资源包; A3、将所述自定义控件源码包和所述系统视图资源包压缩生成相应的自定义控件插件包。
3.根据权利要求1所述的Android自定义控件的扩展开发方法,其特征在于,所述步骤B还包括: B0、修改系统初始化配置文件中的虚拟机默认加载的系统基本库路径配置环境变量配置。
4.根据权利要求1所述的Android自定义控件的扩展开发方法,其特征在于,所述步骤G具体包括: GO、启动Android平台的Java虚拟机,通过孵化器进程初始化预加载系统视图资源包。
5.根据权利要求2所述的Android自定义控件的扩展开发方法,其特征在于,所述步骤G还包括: G1、在应用安装包运行时,Android平台的Java虚拟机加载系统资源包内图片资源及对应的映射关系文件,以供应用安装包解析调用。
6.一种Android自定义控件的扩展开发装置,其特征在于,包括: 自定义控件插件包生成模块,用于将编写的自定义控件源代码生成自定义控件源码包,将加入的图片资源生成系统视图资源包,根据所述自定义控件源码包和系统视图资源包生成相应的自定义控件插件包;解压及镜像模块,用于将所述自定义控件插件包解压到Android软件开发工具中,得到自定义控件源码包,并将系统初始化配置文件和自定义控件插件包生成相应的模拟器镜像文件; 配置模块,用于配置所述自定义控件源码包作为自定义库载入应用工程; 应用安装包生成模块,用于应用工程通过所述自定义控件源码包调用自定义控件的属性和方法,编译打包生成具有自定义控件特性的应用安装包; 模拟器创建模块,用于通过Android软件开发工具创建模拟器,并加载所述模拟器镜像文件; 模拟器加载模块,用于启动所述模拟器,通过系统初始化配置文件进行系统配置定义,加载所述模拟器镜像文件中的自定义控件源码包以供应用安装包运行时调用; Java虚拟机加载模块,用于启动Android平台的Java虚拟机,预加载所述模拟器镜像文件中的系统视图资源包以供应用安装包运行时调用; 调试模块,用于运行应用安装包,调用自定义控件源代码并读取图片资源,调试应用控件效果,完成自定义控件的开发。
7.根据权利要求6所述的Android自定义控件的扩展开发装置,其特征在于,所述自定义控件插件包生成模块具体包括: 自定义控件源码包生成单元,用于编写自定义控件源代码,放置在自定义控件目录下,编写对应的Android编译配置文件,并生成相应的自定义控件源码包; 系统视图资源包生成单元,用于加入所需图片资源,编写各个资源的配置定义文件,放置在自定义控件目录下,根据所述自定义控件源代码与图片资源的映射关系生成相应的映射关系文件并放置在自定义控件目录下,并生成相应的系统视图资源包; 自定义控件插件包生成单元,用于将所述自定义控件源码包和所述系统视图资源包压缩生成相应的自定义控件插件包。
8.根据权利要求6所述的Android自定义控件的扩展开发装置,其特征在于,所述解压及镜像模块还包括: 系统初始化配置文件修改单元,用于修改系统初始化配置文件中的虚拟机默认加载的系统基本库路径配置环境变量配置。
9.根据权利要求6所述的Android自定义控件的扩展开发装置,其特征在于,所述Java虚拟机加载模块用于启动Android平台的Java虚拟机,通过孵化器进程初始化预加载系统视图资源包。
10.根据权利要求7所述的Android自定义控件的扩展开发装置,其特征在于,所述Java虚拟机加载模块还包括: 映射关系文件加载单元,用于在应用安装包运行时,Android平台的Java虚拟机加载系统资源包内图片资源及对应的映射关系文件,以供应用安装包解析调用。
【文档编号】G06F9/44GK103544005SQ201310408562
【公开日】2014年1月29日 申请日期:2013年9月10日 优先权日:2013年9月10日
【发明者】田静, 吕华 申请人:Tcl集团股份有限公司