CN106528069A - Sdk集成方法和装置 - Google Patents

Sdk集成方法和装置 Download PDF

Info

Publication number
CN106528069A
CN106528069A CN201510587094.1A CN201510587094A CN106528069A CN 106528069 A CN106528069 A CN 106528069A CN 201510587094 A CN201510587094 A CN 201510587094A CN 106528069 A CN106528069 A CN 106528069A
Authority
CN
China
Prior art keywords
file
sdk
apk
client
apk file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510587094.1A
Other languages
English (en)
Other versions
CN106528069B (zh
Inventor
李佳佳
鲁教
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510587094.1A priority Critical patent/CN106528069B/zh
Publication of CN106528069A publication Critical patent/CN106528069A/zh
Application granted granted Critical
Publication of CN106528069B publication Critical patent/CN106528069B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了一种SDK集成的方法及装置,用以解决现有技术中SDK集成过程比较复杂的问题。该SDK集成方法包括:第一客户端获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;所述第一客户端将所述资源文件打包成所述APK文件;所述第一客户端将所述APK文件及所述代码文件打包为SDK文件;第二客户端从所述第一客户端下载所述SDK文件至目标目录下;所述第二客户端通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。

Description

SDK集成方法和装置
技术领域
本申请涉及移动应用技术领域,特别涉及一种SDK集成方法及装置。
背景技术
随着移动应用技术快速发展,各个公司为了推广自己的产品及服务,会对开发人员提供软件开发工具包(Software Development Kit,SDK)。SDK中集成有各种开发服务,可以为应用程序(Application,App)开发人员提供开发功能。由于开发的应用趋于复杂,SDK需要包含各种资源文件、代码文件等,使得SDK的自身结构越来越复杂。
现有技术的开发过程中,开发人员创建App工程后,一般需要下载SDK开发包,并将下载后的SDK开发包集成于所述App工程中,进而进行进一步的开发工作。现有的SDK集成方法,一般是将所述SDK中不同类型文件人工拷贝到App的目录下。例如,SDK的代码文件拷贝到App的libs目录下;SDK的资源文件例如布局(Layout)、图像和图标(Drawable)等拷贝到App的res目录下。开发工具使用所述SDK开发所述App过程中,需要访问资源时,统一访问所述App的res目录下的资源文件。
这种SDK集成方法,需要人工处理,并且所述人工处理的集成过程比较复杂。
发明内容
本申请实施例的目的是提供一种SDK集成方法及装置,用以解决现有技术中SDK集成过程比较复杂的问题。
为解决上述技术问题,本申请一实施例提供了一种SDK集成方法,包括:
第一客户端获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
所述第一客户端将所述资源文件打包成所述APK文件;
所述第一客户端将所述APK文件及所述代码文件打包为SDK文件;
第二客户端从所述第一客户端下载所述SDK文件至目标目录下;
所述第二客户端通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
一种SDK集成方法,包括:
第一客户端获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
所述第一客户端将所述资源文件打包成所述APK文件;
所述第一客户端将所述APK文件及所述代码文件打包为SDK文件;
所述第一客户端向服务器上传所述SDK文件;
所述服务器接收并存储所述SDK文件;
第二客户端从所述服务器下载所述SDK文件至目标目录下;
所述第二客户端通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
一种SDK集成方法,包括:
获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
将所述资源文件打包成所述APK文件;
将所述APK文件及所述代码文件打包为SDK文件;
上传所述SDK文件。
一种SDK集成方法,包括:
获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
将所述资源文件打包成所述APK文件;
将所述APK文件及所述代码文件打包为SDK文件;
接收第二客户端发出的下载所述SDK文件的请求;
向所述第二客户端发送所述SDK文件。
一种SDK集成方法,包括:
下载SDK文件至目标目录下,其中所述SDK文件包含代码文件及APK文件,其中代码文件包含加载所述APK文件的方法;
通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
一种SDK集成装置,包括:
第一获取单元,用于获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
第一打包单元,用于将所述资源文件打包成所述APK文件;
第二打包单元,用于将所述APK文件及所述代码文件打包为SDK文件;
上传单元,用于上传所述SDK文件。
一种SDK装置,包括:
第二获取单元,用于获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
第三打包单元,用于将所述资源文件打包成所述APK文件;
第四打包单元,用于将所述APK文件及所述代码文件打包为SDK文件;
接收单元,用于接收下载所述SDK文件的请求;
发送单元,用于发送所述SDK文件。
一种SDK装置,包括:
下载单元,用于下载SDK文件至目标目录下,所述SDK文件包括代码文件及APK文件,其中代码文件包含加载所述APK文件的方法;
加载单元,用于通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
由以上本申请实施例提供的技术方案可见,本申请实施例提供的一种SDK集成方法及装置,第一客户端通过将获取的资源文件打包为APK文件再与获取的代码文件打包成SDK文件;开发人员通过第二客户端下载所述SDK文件至目标目录下,即可完成SDK集成。这样的集成方法,相对于现有的需要人工将不同类型文件拷贝到相应App的目录下来说,集成过程变得简单便捷。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例中提供的SDK集成***的架构图;
图2为本申请一实施例中提供的SDK集成方法的流程图;
图3为本申请一实施例中提供的SDK集成方法的流程图;
图4为本申请一实施例中提供的以第一客户端为主体的方法流程图;
图5为本申请一实施例中提供的以第一客户端为主体的方法流程图;
图6为本申请一实施例中提供的以第一客户端为主体的方法流程图;
图7为本申请一实施例中提供的以第一客户端为主体的方法流程图;
图8为本申请一实施例中提供的以第二客户端为主体的方法流程图;
图9为本申请一实施例中提供的SDK集成装置的模块图;
图10为本申请一实施例中提供的SDK集成装置的模块图;
图11为本申请一实施例中提供的SDK集成装置的模块图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本申请实施例中提供的SDK集成的***的架构图。本实施例中,该***可以包括第一客户端11、服务器12和第二客户端13。
第一客户端11中可以是安装有用于打包SDK的软件的计算机。
服务器12可以是提供上传及下载服务的服务器。具体的,可以用来存储上传的SDK文件及提供SDK文件的下载。
第二客户端13用以从服务器12中下载SDK文件并集成SDK文件。
第一客户端11上可以安装打包SDK的软件,并且上述第一客户端11可以将上述打包后的SDK文件上传至服务器12。服务器12可以接收并存储上述SDK文件,进而可以提供第二客户端13下载上述SDK文件。在App开发过程中,App开发人员可以在第二客户端13上将SDK文件集成于开发的App中。
以下结合图2所示的例子介绍本申请一种SDK集成方法的实施例,如图所示,包括:
S200:第一客户端获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法。
所述资源文件可以包括文本字符串(Strings)、颜色(Colors)、数组(Arrays)、动画(Anim)、布局(Layout)、图像和图标(Drawable)、音频视频(Media)等。
所述代码文件可以包括所有实现SDK开发服务的代码,其中包括加载APK文件的方法。
所述加载APK文件的方法,具体包括:
拷贝方法,用于将所述APK文件拷贝到应用程序的目录“/data/data/xxx”下,其中“xxx”是应用程序的标识;
加载方法,用于通过Android***提供的API,加载所述数据目录下的APK文件;
访问方法,用于在加载APK文件后,访问APK文件内的资源文件。
所述资源文件和代码文件可以由SDK开发人员预先分类整理好。
第一客户端通过SDK开发人员提供的路径地址可以获取所述资源文件及代码文件。所述路径地址可以为计算机能够识别的相对路径,当然在某些实施例中所述路径也可以为计数机能够识别的绝对路径。
S210:所述第一客户端将所述资源文件打包成所述APK文件。
具体的,可以是第一客户端接收用户指令,根据用户指令并利用安装的打包软件将所述资源文件打包成APK文件。
例如,SDK开发人员可以通过点击第一客户端安装的打包软件界面上的用于打包APK文件的按钮,使其执行打包指令。
当然,也可以是在所述第一客户端获取资源文件后自动地根据预设的指令并利用安装的打包软件将所述资源文件打包成APK文件。
示范性地,所述第一客户端可以通过调用安卓(Android)开发工具中例如apkbuilder工具,将所述资源文件打包为APK文件。
值得一提的,在Android***中,所有安装到Android***的App会有一个签名,拥有签名的App可以在Android设备上安装。签名用于标识App的作者与App之间所建立的信任关系。
所述第一客户端可以通过调用signapk工具对APK文件签名。
在其它实施例中,所述第一客户端可以通过调用keytool工具生成签名,再调用jarsigner工具将生成的签名对APK文件进行签名。
在其它实施例中,在S210与S220步骤之间可以包括:
S211:所述第一客户端对所述APK文件中未压缩的数据进行对齐处理。
具体的,可以是第一客户端接收用户指令,根据用户指令将所述APK文件中未压缩的数据进行对齐处理。
例如,SDK开发人员可以通过点击第一客户端界面上的用于对APK文件对齐的按钮,使其执行对齐指令。
当然,也可以是在所述第一客户端获取资源文件后自动地根据预设的指令对所述APK文件中未压缩的数据进行对齐处理。
所述第一客户端可以通过调用Android开发工具中提供的例如zipalign工具对APK文件进行对齐处理。
具体的,通过zipalign对齐处理后能够使APK文件中未压缩的数据在4个字节边界上对齐。由于计算机中编译器是把4个字节作为一个单位来进行读取的,所以通过所述在4个字节边界上对齐的方法,较之前不对齐的情况下,可以提高计算机读取资源的效率。
对齐后的APK文件可以与Android***之间的交互变得更加有效率。
S220:所述第一客户端将所述APK文件及所述代码文件打包为SDK文件。
具体的,可以是第一客户端接收用户指令,根据用户指令并利用安装的打包软件将所述APK文件及代码文件打包为SDK文件。
例如,SDK开发人员可以通过点击第一客户端安装的打包软件界面上的用于打包SDK文件的按钮,使其执行打包指令。
当然,也可以是在所述第一客户端自动地根据预设的指令并利用安装的打包软件将所述APK文件及代码文件打包成SDK文件。
示范性地,所述第一客户端可以通过调用Android开发工具例如AndroidTools等工具将所述APK文件及所述代码文件打包为SDK文件。
在本实施例中SDK文件可以为Java归档文件(Java Archive,JAR)文件。即,SDK文件可以为JAR格式的文件。
S230:所述第一客户端向服务器上传所述SDK文件。
S240:所述服务器接收并存储所述SDK文件。
服务器接收所述第一客户端上次的上述SDK文件,并将上述SDK文件存放于服务器的存储空间中。对外可以提供一个对应上述SDK文件的下载地址例如统一资源定位(Uniform Resoure Locator,URL)地址,以供用户下载上述SDK文件。
S250:第二客户端从所述服务器下载所述SDK文件至目标目录下。
具体的,第二客户端从所述服务器下载所述SDK文件;所述第二客户端将所述下载的SDK文件拷贝到所述目标目录下。所述目标目录包括App的libs目录。
例如,用户通过第二客户端连接服务器;点击界面上显示的所述SDK文件的下载按钮,所述按钮含有对应所述SDK文件的URL地址;进而向服务器发送下载请求;服务器根据所述URL地址,查询到对应的SDK文件后,向所述第二客户端发送所述SDK文件。用户将下载的SDK文件拷贝到App的libs目录。
S260:所述第二客户端通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
由于Android***支持加载APK文件并访问APK文件的内部资源,所以第二客户端可以在App的libs目录下直接加载所述SDK文件中的APK文件,从而访问所述APK文件内的资源文件。
所述第二客户端通过位于目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件,具体步骤如下:
(A1)第二客户端将所述APK文件拷贝到应用程序的目录“/data/data/xxx”下,其中“xxx”是应用程序的标识。
如S250所述,下载后的SDK文件及SDK文件中的APK文件位于目标目录下。该目标目录是App的***目录,***目录中的文件一般处于不可执行的环境下,因此需要将所述APK文件拷贝到可执行的环境中。Android软件开发中,可执行的环境包括数据目录,如“/data/data/xxx”,其中“xxx”是应用程序的标识。A1过程中,具体的,所述第二客户端可以通过调用所述代码文件中的拷贝方法,将SDK文件中的APK文件拷贝到应用程序的目录“/data/data/xxx”下。
(A2)第二客户端通过Android***提供的API,加载所述数据目录下的APK文件。
具体的,所述第二客户端可以通过调用所述代码文件中的加载方法,进而通过Android***提供的API,加载所述数据目录下的APK文件。
(A3)第二客户端加载所述APK文件后,可以访问所述APK文件内的资源文件。
具体的,第二客户端加载所述APK文件后,可以获取所述APK文件的一个引用对象,所述引用对象为APK文件内的资源文件的映射;通过所述代码文件中的访问方法用所述引用对象,访问所述APK文件内的资源文件。
通过本实施例,第一客户端将获取的资源文件打包为APK文件再与获取的代码文件打包成SDK文件。用户在下载所述SDK文件至目标目录下,即可完成SDK集成。通过上述第一客户端及第二客户端这样的集成方法,相对于现有的需要人工将不同类型文件拷贝到相应App的目录下来说,集成过程变得简单便捷。
以下结合图3所示的例子介绍本申请一种SDK集成方法的实施例,如图所示,包括:
S300:第一客户端获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法。
所述资源文件可以包括文本字符串(Strings)、颜色(Colors)、数组(Arrays)、动画(Anim)、布局(Layout)、图像和图标(Drawable)、音频视频(Media)等。
所述代码文件可以包括所有实现SDK开发服务的代码,其中包括加载APK文件的方法。
所述加载APK文件的方法,具体包括:
拷贝方法,用于将所述APK文件拷贝到应用程序的目录“/data/data/xxx”下,其中“xxx”是应用程序的标识;
加载方法,用于通过Android***提供的API,加载所述数据目录下的APK文件;
访问方法,用于在加载APK文件后,访问APK文件内的资源文件。
所述资源文件和代码文件可以由SDK开发人员预先分类整理好。
第一客户端通过SDK开发人员提供的路径地址可以获取所述资源文件及代码文件。所述路径地址可以为计算机能够识别的相对路径,当然在某些实施例中所述路径也可以为计数机能够识别的绝对路径。
S310:所述第一客户端将所述资源文件打包成所述APK文件。
具体的,可以是第一客户端接收用户指令,根据用户指令并利用安装的打包软件将所述资源文件打包成APK文件。
例如,SDK开发人员可以通过点击第一客户端安装的打包软件界面上的用于打包APK文件的按钮,使其执行打包指令。
当然,也可以是在所述第一客户端获取资源文件后自动地根据预设的指令并利用安装的打包软件将所述资源文件打包成APK文件。
示范性地,所述第一客户端可以通过调用安卓(Android)开发工具中例如apkbuilder工具,将所述资源文件打包为APK文件。
值得一提的,在Android***中,所有安装到Android***的App会有一个签名,拥有签名的App可以在Android设备上安装。签名用于标识App的作者与App之间所建立的信任关系。
所述第一客户端可以通过调用signapk工具对APK文件签名。
在其它实施例中,所述第一客户端可以通过调用keytool工具生成签名,再调用jarsigner工具将生成的签名对APK文件进行签名。
在其它实施例中,在S310与S320步骤之间可以包括:
S311:所述第一客户端对所述APK文件中未压缩的数据进行对齐处理。
具体的,可以是第一客户端接收用户指令,根据用户指令将所述APK文件中未压缩的数据进行对齐处理。
例如,SDK开发人员可以通过点击第一客户端界面上的用于对APK文件对齐的按钮,使其执行对齐指令。
当然,也可以是在所述第一客户端获取资源文件后自动地根据预设的指令对所述APK文件中未压缩的数据进行对齐处理。
所述第一客户端可以通过调用Android开发工具中提供的例如zipalign工具对APK文件进行对齐处理。
具体的,通过zipalign对齐处理后能够使APK文件中未压缩的数据在4个字节边界上对齐。由于计算机中编译器是把4个字节作为一个单位来进行读取的,所以通过所述在4个字节边界上对齐的方法,较之前不对齐的情况下,可以提高计算机读取资源的效率。
对齐后的APK文件可以与Android***之间的交互变得更加有效率。
S320:所述第一客户端将所述APK文件及所述代码文件打包为SDK文件。
具体的,可以是第一客户端接收用户指令,根据用户指令并利用安装的打包软件将所述APK文件及代码文件打包为SDK文件。
例如,SDK开发人员可以通过点击第一客户端安装的打包软件界面上的用于打包SDK文件的按钮,使其执行打包指令。
当然,也可以是在所述第一客户端自动地根据预设的指令并利用安装的打包软件将所述APK文件及代码文件打包成SDK文件。
示范性地,所述第一客户端可以通过调用Android开发工具例如AndroidTools等工具将所述APK文件及所述代码文件打包为SDK文件。
在本实施例中SDK文件可以为Java归档文件(Java Archive,JAR)文件。即,SDK文件可以为JAR格式的文件。
S330:第二客户端从所述第一客户端下载所述SDK文件至目标目录下。
具体的,第二客户端从所述第一客户端下载所述SDK文件;所述第二客户端将所述下载的SDK文件拷贝到所述目标目录下。所述目标目录包括App的libs目录。
例如,所述第一客户端对外可以提供一个对应SDK文件的下载地址例如URL地址,以供用户下载所述SDK文件;第二客户端可以通过所述URL地址向所述第一客户端发出下载所述SDK文件请求;第一客户端可以根据所述URL地址,查询到对应的SDK文件后,向所述第二客户端发送所述SDK文件。第二客户端将下载的SDK文件拷贝到App的libs目录。
S340:所述第二客户端通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
由于Android***支持加载APK文件并访问APK文件的内部资源,所以第二客户端可以在App的libs目录下直接加载所述SDK文件中的APK文件,从而访问所述APK文件内的资源文件。
所述第二客户端通过位于目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件,具体步骤如下:
(A1)第二客户端将所述APK文件拷贝到应用程序的目录“/data/data/xxx”下,其中“xxx”是应用程序的标识。
如S330所述,下载后的SDK文件及SDK文件中的APK文件位于目标目录下。该目标目录是App的***目录,***目录中的文件一般处于不可执行的环境下,因此需要将所述APK文件拷贝到可执行的环境中。Android软件开发中,可执行的环境包括数据目录,如“/data/data/xxx”,其中“xxx”是应用程序的标识。A1过程中,具体的,所述第二客户端可以通过调用所述代码文件中的拷贝方法,将SDK文件中的APK文件拷贝到应用程序的目录“/data/data/xxx”下。
(A2)第二客户端通过Android***提供的API,加载所述数据目录下的APK文件。
具体的,所述第二客户端可以通过调用所述代码文件中的加载方法,进而通过Android***提供的API,加载所述数据目录下的APK文件。
(A3)第二客户端加载所述APK文件后,可以访问所述APK文件内的资源文件。
具体的,第二客户端加载所述APK文件后,可以获取所述APK文件的一个引用对象,所述引用对象为APK文件内的资源文件的映射;通过所述代码文件中的访问方法用所述引用对象,访问所述APK文件内的资源文件。
与上述实施例不同的是,本实施例中第二客户端可以直接与第一客户端交互,下载SDK文件。
以下结合图4介绍本申请以第一客户端为主体的方法实施例,该实施例可以对应图3:
S400:获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法。
S410:将所述资源文件打包成所述APK文件。
S420:将所述APK文件及所述代码文件打包为SDK文件。
S430:上传所述SDK文件。
在本申请基于上述图4的一个实施例中,在所述S410与S420之间还可以包括以下S411步骤,如图5所示:
S400:获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法。
S410:将所述资源文件打包成所述APK文件。
S411:对所述APK文件中未压缩的数据进行对齐处理。
S420:将所述APK文件及所述代码文件打包为SDK文件。
S430:上传所述SDK文件。
以下结合图6介绍本申请以第一客户端为主体的方法实施例,该实施例可以对应图2:
S500:获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法。
S510:将所述资源文件打包成所述APK文件。
S520:将所述APK文件及所述代码文件打包为SDK文件。
S530:接收第二客户端发送下载所述SDK文件的请求。
S540:向所述第二客户端发送所述SDK文件。
在本申请基于上述图6的一个实施例中,在所述S510与S520之间还可以包括以下S511步骤,如图7所示:
S500:获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法。
S510:将所述资源文件打包成所述APK文件。
S511:对所述APK文件中未压缩的数据进行对齐处理。
S520:将所述APK文件及所述代码文件打包为SDK文件。
S530:接收第二客户端发送下载所述SDK文件的请求。
S540:向所述第二客户端发送所述SDK文件。
以下结合图8介绍本申请以第二客户端为主体的方法实施例,该实施例可以对应图2:
S900:下载SDK文件至目标目录下,其中所述SDK文件包含代码文件及APK文件,其中代码文件包含加载所述APK文件的方法。
S910:通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
具体包括:
将所述APK文件拷贝到数据目录“/data/data/xxx”下,其中“xxx”是应用程序的标识;
通过Android***提供的API,加载所述数据目录下的APK文件;
加载所述APK文件后,进而访问所述APK文件内的资源文件。
图9为本申请一实施的SDK集成装置的模块示意图,包括:
第一获取单元610,用于获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法。
第一打包单元620,用于将所述资源文件打包成所述APK文件。
第二打包单元630,用于将所述APK文件及所述代码文件打包为SDK文件。
上传单元640,用于上传所述SDK文件。
优选地,所述第一打包单元620中还包括:
第一优化单元,用于对所述APK文件中未压缩的数据进行对齐处理。
图10为本申请一实施的SDK集成装置的模块示意图,包括:
第二获取单元710,用于获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法。
第三打包单元720,用于将所述资源文件打包成所述APK文件。
第四打包单元730,用于将所述APK文件及所述代码文件打包为SDK文件。
接收单元740,用于接收下载所述SDK文件的请求。
发送单元750,用于发送所述SDK文件。
优选地,所述第二包括单元720中还包括:
第二优化单元,用于对所述APK文件中未压缩的数据进行对齐处理。
图11为本申请一实施的SDK集成装置的模块示意图,包括:
下载单元810,用于下载SDK文件至目标目录下,所述SDK文件包括代码文件及APK文件,其中代码文件包含加载所述APK文件的方法;
加载单元820,用于通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
优选地,所述加载单元820,包括:
拷贝单元,用于将所述APK文件拷贝到数据目录“/data/data/xxx”下,其中“xxx”是应用程序的标识;
加载单元,用于通过Android***提供的API,加载所述数据目录下的APK文件;
访问单元,用于加载所述APK文件后,进而访问所述APK文件内的资源文件。
综上所述,第一客户端通过将资源文件打包为APK文件再与代码文件打包为SDK文件;开发人员通过第二客户端下载所述SDK文件至目标目录下,即可完成SDK集成。相对于现有的需要人工将不同类型文件拷贝到相应App的目录下来说,集成过程变得简单便捷。而且在更新SDK时,只需要替换原本的SDK文件即可,不用重新拷贝众多的资源文件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware DescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBoolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、MicrochipPIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (27)

1.一种SDK集成方法,其特征在于,包括:
第一客户端获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
所述第一客户端将所述资源文件打包成所述APK文件;
所述第一客户端将所述APK文件及所述代码文件打包为SDK文件;
第二客户端从所述第一客户端下载所述SDK文件至目标目录下;
所述第二客户端通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
2.如权利要求1所述的方法,其特征在于,所述第二客户端从所述第一客户端下载所述SDK文件至目标目录下,包括:
第二客户端从所述第一客户端下载所述SDK文件;
所述第二客户端将所述下载的SDK文件拷贝到所述目标目录下。
3.如权利要求1所述的方法,其特征在于,所述第二客户端通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件,包括:
第二客户端将所述APK文件拷贝到数据目录“/data/data/xxx”下,其中“xxx”是应用程序的标识;
所述第二客户端通过Android***提供的API,加载所述数据目录下的APK文件;
第二客户端加载所述APK文件后,进而访问所述APK文件内的资源文件。
4.如权利要求1所述的方法,其特征在于,在所述第一客户端将所述资源文件打包成APK文件之后,还包括:
所述第一客户端对所述APK文件中未压缩的数据进行对齐处理。
5.如权利要求1或4所述的方法,其特征在于,所述目标目录包括App的libs目录。
6.如权利要求1或4所述的方法,其特在在于,所述SDK文件为JAR格式的文件。
7.一种SDK集成方法,其特征在于,包括:
第一客户端获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
所述第一客户端将所述资源文件打包成所述APK文件;
所述第一客户端将所述APK文件及所述代码文件打包为SDK文件;
所述第一客户端向服务器上传所述SDK文件;
所述服务器接收并存储所述SDK文件;
第二客户端从所述服务器下载所述SDK文件至目标目录下;
所述第二客户端通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
8.如权利要求7所述的方法,其特征在于,所述第二客户端从所述服务器下载所述SDK文件至目标目录下,包括:
第二客户端从所述服务器下载所述SDK文件;
所述第二客户端将所述下载的SDK文件拷贝到所述目标目录下。
9.如权利要求7所述的方法,其特征在于,所述第二客户端通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件,包括:
第二客户端将所述APK文件拷贝到数据目录“/data/data/xxx”下,其中“xxx”是应用程序的标识;
所述第二客户端通过Android***提供的API,加载所述数据目录下的APK文件;
第二客户端加载所述APK文件后,进而访问所述APK文件内的资源文件。
10.如权利要求7所述的方法,其特征在于,在所述第一客户端将所述资源文件打包成APK文件之后,还包括:
所述第一客户端对所述APK文件中未压缩的数据进行对齐处理。
11.如权利要求7或10所述的方法,其特征在于,所述目标目录包括App的libs目录。
12.如权利要求7或10所述的方法,其特在在于,所述SDK文件为JAR格式的文件。
13.一种SDK集成方法,其特征在于,包括:
获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
将所述资源文件打包成所述APK文件;
将所述APK文件及所述代码文件打包为SDK文件;
上传所述SDK文件。
14.如权利要求13所述的方法,其特征在于,在所述将所述资源文件打包成所述APK文件之后,还包括:
对所述APK文件中未压缩的数据进行对齐处理。
15.如权利要求13或14所述的方法,其特在在于,所述SDK文件为JAR格式的文件。
16.一种SDK集成方法,其特征在于,包括:
获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
将所述资源文件打包成所述APK文件;
将所述APK文件及所述代码文件打包为SDK文件;
接收第二客户端发出的下载所述SDK文件的请求;
向所述第二客户端发送所述SDK文件。
17.如权利要求16所述的方法,其特征在于,在所述将所述资源文件打包成APK文件之后,还包括:
对所述APK文件中未压缩的数据进行对齐处理。
18.如权利要求16或17所述的方法,其特在在于,所述SDK文件为JAR格式的文件。
19.一种SDK集成方法,其特征在于,包括:
下载SDK文件至目标目录下,其中所述SDK文件包含代码文件及APK文件,其中代码文件包含加载所述APK文件的方法;
通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
20.如权利要求19所述的方法,其特征在于,所述下载SDK文件至目标目录下,包括:
下载所述SDK文件;
将所述下载的SDK文件拷贝到目标目录下。
21.如权利要求19所述的方法,其特征在于,所述通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件,包括:
将所述APK文件拷贝到数据目录“/data/data/xxx”下,其中“xxx”是应用程序的标识;
通过Android***提供的API,加载所述数据目录下的APK文件;
加载所述APK文件后,进而访问所述APK文件内的资源文件。
22.如权利要求19所述的方法,其特在在于,所述SDK文件为JAR格式的文件。
23.如权利要求19或20所述的方法,其特在在于,所述目标目录包括App的libs目录。
24.一种SDK集成装置,其特征在于,包括:
第一获取单元,用于获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
第一打包单元,用于将所述资源文件打包成所述APK文件;
第二打包单元,用于将所述APK文件及所述代码文件打包为SDK文件;
上传单元,用于上传所述SDK文件。
25.一种SDK装置,其特征在于,包括:
第二获取单元,用于获取资源文件及代码文件,其中所述代码文件中包含加载APK文件的方法;
第三打包单元,用于将所述资源文件打包成所述APK文件;
第四打包单元,用于将所述APK文件及所述代码文件打包为SDK文件;
接收单元,用于接收下载所述SDK文件的请求;
发送单元,用于发送所述SDK文件。
26.一种SDK装置,其特征在于,包括:
下载单元,用于下载SDK文件至目标目录下,所述SDK文件包括代码文件及APK文件,其中代码文件包含加载所述APK文件的方法;
加载单元,用于通过位于所述目标目录下所述SDK文件中的代码文件中的加载APK文件的方法来加载所述SDK文件中的APK文件,进而访问所述APK文件内的资源文件。
27.如权利要求26所述的装置,其特征在于,所述加载单元,具体包括:
拷贝单元,用于将所述APK文件拷贝到数据目录“/data/data/xxx”下,其中“xxx”是应用程序的标识;
加载单元,用于通过Android***提供的API,加载所述数据目录下的APK文件;
访问单元,用于加载所述APK文件后,进而访问所述APK文件内的资源文件。
CN201510587094.1A 2015-09-15 2015-09-15 Sdk集成方法和装置 Active CN106528069B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510587094.1A CN106528069B (zh) 2015-09-15 2015-09-15 Sdk集成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510587094.1A CN106528069B (zh) 2015-09-15 2015-09-15 Sdk集成方法和装置

Publications (2)

Publication Number Publication Date
CN106528069A true CN106528069A (zh) 2017-03-22
CN106528069B CN106528069B (zh) 2019-06-07

Family

ID=58348675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510587094.1A Active CN106528069B (zh) 2015-09-15 2015-09-15 Sdk集成方法和装置

Country Status (1)

Country Link
CN (1) CN106528069B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647033A (zh) * 2018-04-03 2018-10-12 四川新网银行股份有限公司 一种开放平台的sdk自动打包方法
CN109598121A (zh) * 2018-12-11 2019-04-09 深圳市网心科技有限公司 应用程序id生成方法、***、计算机装置及存储介质
CN109614107A (zh) * 2018-11-01 2019-04-12 同盾控股有限公司 一种软件开发工具包的集成方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289378A (zh) * 2011-09-30 2011-12-21 互动在线(北京)科技有限公司 自动生成应用程序的方法
CN103019708A (zh) * 2012-11-30 2013-04-03 北京奇虎科技有限公司 用于发布软件的方法和***
CN104503776A (zh) * 2014-12-01 2015-04-08 北京金和软件股份有限公司 一种在APP开发平台上快速打包android应用程序的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289378A (zh) * 2011-09-30 2011-12-21 互动在线(北京)科技有限公司 自动生成应用程序的方法
CN103019708A (zh) * 2012-11-30 2013-04-03 北京奇虎科技有限公司 用于发布软件的方法和***
CN104503776A (zh) * 2014-12-01 2015-04-08 北京金和软件股份有限公司 一种在APP开发平台上快速打包android应用程序的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647033A (zh) * 2018-04-03 2018-10-12 四川新网银行股份有限公司 一种开放平台的sdk自动打包方法
CN109614107A (zh) * 2018-11-01 2019-04-12 同盾控股有限公司 一种软件开发工具包的集成方法和装置
CN109598121A (zh) * 2018-12-11 2019-04-09 深圳市网心科技有限公司 应用程序id生成方法、***、计算机装置及存储介质

Also Published As

Publication number Publication date
CN106528069B (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
US9323572B2 (en) Autoconfiguration of a cloud instance based on contextual parameters
CN102981915B (zh) 一种应用程序间通信方法及装置
CN106970822A (zh) 一种容器创建方法及装置
US20080127088A1 (en) Cross-platform software package generation
WO2015147656A2 (en) Automatic process and system for software development kit for application programming interface
CN108282518A (zh) 一种客户端页面生成方法和装置
CN103034546B (zh) iOS***中应用程序间通信的方法及装置
CN112395253B (zh) 索引文件生成方法、终端设备、电子设备及介质
CN105765533A (zh) 用于固件虚拟化的方法和装置
CN108268609A (zh) 一种文件路径的建立、访问方法和装置
CN111897623B (zh) 一种集群管理方法、装置、设备及存储介质
CN112965761B (zh) 一种数据处理方法、***、电子设备及存储介质
CN107479868A (zh) 一种界面加载方法、装置及设备
US20180144062A1 (en) Computer device and method for facilitating user to manage containers
CN106528069A (zh) Sdk集成方法和装置
US20210141648A1 (en) Configuration manager data structures
CN106557343A (zh) 生成功能应用及加载资源的方法及装置
CN110955449B (zh) 客户端的灰度发布方法及装置
CN107908552A (zh) 一种基于链接的测试方法、装置及设备
CN104378393A (zh) 一种资源分享方法和相应的装置
CN107341155A (zh) 文件命名方法及装置
CN110502251A (zh) 应用安装方法及装置
CN109815455A (zh) 项目文件处理方法和装置
US20190005255A1 (en) Protecting restricted information when importing and exporting resources
US11782971B2 (en) Static and dynamic NBMP function image retrieval and scale ranking

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1235115

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.