CN111090422A - 一种基于Flutter的资源打包方法、装置和存储介质 - Google Patents
一种基于Flutter的资源打包方法、装置和存储介质 Download PDFInfo
- Publication number
- CN111090422A CN111090422A CN201911010417.5A CN201911010417A CN111090422A CN 111090422 A CN111090422 A CN 111090422A CN 201911010417 A CN201911010417 A CN 201911010417A CN 111090422 A CN111090422 A CN 111090422A
- Authority
- CN
- China
- Prior art keywords
- flutter
- channel information
- channel
- service
- resource
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 37
- 238000012856 packing Methods 0.000 claims description 10
- 239000000047 product Substances 0.000 description 45
- 238000010586 diagram Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 230000010354 integration Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012858 packaging process Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000796 flavoring agent Substances 0.000 description 2
- 235000019634 flavors Nutrition 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种基于Flutter的资源打包方法、装置和存储介质,具体为获取各个Flutter工程的业务资源和每个业务资源对应的渠道信息,根据每个业务资源对应的渠道信息,将各个业务资源存储至对应的指定目录下,在对业务资源进行打包时,将与渠道信息对应的指定目录下的业务资源进行打包,生成与各个渠道信息对应的Flutter产物。本申请实施例通过将Flutter工程中的各个业务资源按照渠道信息分别存储,并最终在调用时仅加载与渠道信息相关的业务资源对应的Flutter产物,减少了加载时间,且避免了Flutter产物的资源包过大。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种基于Flutter的资源打包方法、装置和存储介质。
背景技术
Flutter作为一种完全开源的移动UI框架,可以快速的在IOS和安卓Android系统上构建高质量的原生新用户界面。在已有的项目中引入Flutter技术,通常都是将Flutter产物作为一个资源被已有的Flutter工程引用,而不是再次建立一个单独的Flutter工程。对于移动客户端来说,一个应用程序往往会存在多个不同的渠道版本,比如:国内版、海外版、免费版、收费版等等。以在安卓系统(Android)中进行开发为例,在安卓系统中根据不同的渠道版本,通过一套代码为不同的渠道版本进行配置,生成相应的可以发行的Flutter产物。目前一般通过将Flutter的多渠道能力依赖于原生Android,生成Flutter侧的产物包。此时Flutter侧的产物包中包含多种渠道的资源代码,资源包体积较大,加载时间延长。
发明内容
本申请实施例提供了一种基于Flutter的资源打包方法,克服了在调用Flutter产物时需要根据渠道信息进行筛选而导致的加载时间较长的问题。
该方法包括:
获取各个Flutter工程的业务资源和每个所述业务资源对应的渠道信息;
根据每个所述业务资源对应的所述渠道信息,将各个所述业务资源存储至对应的指定目录下;
在对所述业务资源进行打包时,将与所述渠道信息对应的所述指定目录下的业务资源进行打包,生成与各个所述渠道信息对应的Flutter产物。
可选地,为与每个所述业务资源对应的所述渠道信息设置渠道入口,所述渠道入口的入口名称中包括与对应的存放所述业务资源的指定目录的目录名称中相同的渠道参数;
为每个所述业务资源对应的所述渠道信息加载与所述渠道参数一致的所述渠道入口,并将所述业务资源通过对应的所述渠道入口存储至对应的所述指定目录下。
可选地,对需要进行打包的所述业务资源执行打包命令,生成与各个所述业务资源对应的所述渠道信息的Flutter产物。
可选地,基于所述渠道信息,原生Native工程调用上传的所述各个Flutter产物中与所述渠道信息对应的所述Flutter产物。
在本发明的另一个实施例中,提供了一种基于Flutter的资源打包装置,该装置包括:
获取模块,用于获取各个Flutter工程的业务资源和每个所述业务资源对应的渠道信息;
存储模块,用于根据每个所述业务资源对应的所述渠道信息,将各个所述业务资源存储至对应的指定目录下;
生成模块,用于在对所述业务资源进行打包时,将与所述渠道信息对应的所述指定目录下的业务资源进行打包,生成与各个所述渠道信息对应的Flutter产物。
可选地,所述存储模块还用于:
为与每个所述业务资源对应的所述渠道信息设置渠道入口,所述渠道入口的入口名称中包括与对应的存放所述业务资源的指定目录的目录名称中相同的渠道参数;
为每个所述业务资源对应的所述渠道信息加载与所述渠道参数一致的所述渠道入口,并将所述业务资源通过对应的所述渠道入口存储至对应的所述指定目录下。
可选地,所述生成模块还用于:
对需要进行打包的所述业务资源执行打包命令,生成与各个所述业务资源对应的所述渠道信息的Flutter产物。
可选地,所述装置还包括;
调用模块,用于基于所述渠道信息,原生Native工程调用上传的所述各个Flutter产物中与所述渠道信息对应的所述Flutter产物。
在本发明的另一个实施例中,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行上述一种基于Flutter的资源打包方法中的各个步骤。
在本发明的另一个实施例中,提供了一种终端设备,包括处理器,所述处理器用于执行上述一种基于Flutter的资源打包方法中的各个步骤。
如上可见,基于上述实施例,首先获取各个Flutter工程的业务资源和每个业务资源对应的渠道信息,其次,根据每个业务资源对应的渠道信息,将各个业务资源存储至对应的指定目录下,最后,在对业务资源进行打包时,将与渠道信息对应的指定目录下的业务资源进行打包,生成与各个渠道信息对应的Flutter产物。本申请实施例通过将Flutter工程中的各个业务资源按照渠道信息分别存储,并最终在调用时仅加载与渠道信息相关的业务资源对应的Flutter产物,减少了加载时间,且避免了Flutter产物的资源包过大。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例100提供的一种基于Flutter的资源打包方法的流程示意图;
图2示出了本申请提供的实施例200提供的一种基于Flutter的资源打包方法的具体流程的示意图;
图3示出了本申请实施例300还提供一种基于Flutter的资源打包装置的示意图;
图4示出了本申请实施例400所提供的一种终端设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
基于现有技术中的问题,本申请实施例提供了一种基于Flutter的资源打包方法,主要适用于互联网技术领域。通过为不同的渠道信息设置不同的指定目录,并将打包后的与该渠道信息对应的业务资源存储至对应的指定目录,以在后续原生代码的调用中,仅调用与渠道信息对应的Flutter产物,提升了调用效率,且避免了资源包的体积过大,减少了调用时间。下面以具体实施例对本发明的技术方案进行详细说明。以下几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。如图1所示,为本申请实施例100提供的一种基于Flutter的资源打包方法的流程示意图。其中,详细步骤如下:
S11,获取各个Flutter工程的业务资源和每个业务资源对应的渠道信息。
本步骤中,本申请实施例中的Flutter工程主要与安卓(Android)系统进行适配。而基于国内Android应用分发市场的现状,发布APP时,一般需要生成多个渠道的应用安装包以上传到不同的应用市场。这些渠道的应用安装包需要包含不同的渠道信息,在应用软件和后台交互或者数据上报时,统计每个分发市场的下载数据、用户数据等关键数据。进一步地,在创建的多个Flutter工程产生的assets文件夹中,获取Flutter工程的业务资源以及每个业务对应的渠道信息。其中,渠道信息主要为不同的渠道版本的主要信息,一般包括渠道版本,如国内版、海外版、免费版、收费版等的渠道号、平台版本、应用版本、日期等信息。业务资源主要为图片、视频和文字等资源文件。
S12,根据每个业务资源对应的渠道信息,将各个业务资源存储至对应的指定目录下。
本步骤中,每个业务资源对应有相应的渠道信息,根据每种渠道信息为每种渠道版本配置对应的制定目录和渠道入口。Flutter工程的业务资源通过加载渠道入口存储至对应的指定目录下。以图片资源为例:将公共图片放在assets/image/下,将a渠道版本的图片放在assets_channel/a/下,将b渠道版本的图片放在assets_channel/b/下。其中,assets_channel/a/和assets_channel/b/分别为渠道版本a和b的指定目录。
S13,在对业务资源进行打包时,将与渠道信息对应的指定目录下的业务资源进行打包,生成与各个渠道信息对应的Flutter产物。
本步骤中,在对业务资源进行打包时,在命令行输入打包命令flutter build apk进行打包。同时,利用Flutter框架中的Gradle提供的多渠道多版本管理的工具–productFlavors,对不同的渠道信息对应的指定目录下的业务资源进行差异化打包。其中,在Flutter集成工程的build.gradle文件中创建Flavor,由Flavor携带与渠道信息相同的渠道参数。将各个携带渠道参数的Flavor在打包过程中进行传递,在打包过程中,自动匹配指定目录下的业务资源的资源文件,生成与渠道信息对应的携带渠道参数的Flutter产物。
基于本申请的上述实施例,首先获取各个Flutter工程的业务资源和每个业务资源对应的渠道信息,其次,根据每个业务资源对应的渠道信息,将各个业务资源存储至对应的指定目录下,最后,在对业务资源进行打包时,将与渠道信息对应的指定目录下的业务资源进行打包,生成与各个渠道信息对应的Flutter产物。本申请实施例通过将Flutter工程中的各个业务资源按照渠道信息分别存储,并最终在调用时仅加载与渠道信息相关的业务资源对应的Flutter产物,减少了加载时间,且避免了Flutter产物的资源包过大。
如图2所示,为本申请实施例200提供的一种基于Flutter的资源打包方法的具体流程的示意图。其中,该具体流程的详细过程如下:
S201,获取各个Flutter工程的业务资源和每个业务资源对应的渠道信息。
这里,每个Flutter工程的配置一个工程配置文件pubspec.yaml,其中,存储与该Flutter工程相关的描述信息、Flutter工程本身所需要的依赖以及Flutter中的业务资源的资源申明。每个Flutter工程的业务资源对应不同的渠道版本,进一步地,获取每个渠道版本的渠道信息。
S202,为每个业务资源对应的渠道信息配置渠道入口。
这里,为与每个业务资源对应的渠道信息设置渠道入口,渠道入口的入口名称中包括与对应的存放业务资源的指定目录的目录名称中相同的渠道参数。可选地,通过Flutter集成工程将每个Flutter工程集成在一起,统一编译成最终的Flutter产物。此时,需要为每个Flutter工程对应的业务资源配置渠道入口。如当存在有两个渠道版本a和b时,可以配置渠道参数分别为a和b的a.dart和b.dart两个渠道入口,不同的渠道信息对应的业务资源会去加载不同的渠道入口。另外,每个渠道信息channel_name,可以被各个业务方的Flutter工程获取。
S203,将各个业务资源存储至对应的指定目录下。
这里,为每个业务资源对应的渠道信息加载与渠道参数一致的渠道入口,并将业务资源通过对应的渠道入口存储至对应的指定目录下。可选地,各业务方的Flutter工程在开发过程中,将不同渠道的业务资源放到对应的指定目录下。其中,指定目录的目录名称中包含与渠道入口的入口名称一致的渠道参数。
以图片资源为例:将公共图片放在assets/image/下,将a渠道版本的图片放在指定目录assets_channel/a/下,将b渠道版本的图片放在指定目录assets_channel/b/下。各个业务方的Flutter工程能够获取到Flutter集成工程中的入口a.dart或b.dart中配置的渠道信息以及存储的业务资源。
S204,生成与各个渠道信息对应的Flutter产物。
本步骤中,在对业务资源进行打包时,将与渠道信息对应的指定目录下的业务资源进行打包,生成与各个渠道信息对应的Flutter产物。将开发的Flutter工程单独编译成aar,然后以组件的形式被主工程依赖。可选地,对需要进行打包的业务资源执行打包命令,生成与各个业务资源对应的渠道信息的Flutter产物。在打包过程中,根据渠道信息对所有Flutter工程的业务资源进行筛选,如:对a渠道版本进行打包,则会将assets_channel/目录下,所有非a的目录剔除。进一步地,打包后在Flutter集成工程的根目录/.android/Flutter/build/outputs/aar目录下会生成与各个渠道信息对应的aar文件,即为原生native工程需要引用的Flutter产物。
S205,调用对应的Flutter产物。
这里,基于渠道信息,原生Native工程调用上传的各个Flutter产物中与渠道信息对应的Flutter产物。可选地,将生成的aar文件直接放到原生native工程lib文件夹中或者上传至maven给原生nativie工程依赖。其中,Maven是一个项目管理工具,可以对Java项目进行构建、依赖管理。Flutter集成工程在将最终产物上传到maven仓库时,根据不同的渠道信息,上传不同的Flutter产物,如:product_a.aar或product_b.aar。进一步地,在执行flutter build apk打包命令时,携带创建的渠道参数Flavor参数,并在后续的构建过程中解析渠道参数flavor后面的参数。如对渠道版本a的图片,将渠道参数a在构建过程中进行传递,对flutter集成工程中的业务资源进行过滤,只对放在公共资源assets/image中的图片资源和assets/channel/a中的图片资源进行解析。
进一步地,原生Android主工程,根据不同的渠道版本而依赖不同的Flutter产物,如:implement product_a.aar或implement product_b.aar。
本申请基于上述步骤实现上述一种基于Flutter的资源打包方法,通过利用各个Flutter工程的业务资源和每个业务资源对应的渠道信息,并根据每个业务资源对应的渠道信息,将各个业务资源存储至对应的指定目录下,在对业务资源进行打包时,将与渠道信息对应的指定目录下的业务资源进行打包,生成与各个渠道信息对应的Flutter产物。
Flutter工程的多渠道能力若是完全依赖于原生Android多渠道,Flutter工程的开发会受到局限,如:Flutter工程过得开发中需要根据不同的渠道信息展示不同的图片信息(如:Logo信息)。但现有的开发模式中,其一是将图片根据渠道信息放在原生Android目录中,在Flutter侧通过method channel与原生进行通信获取该图片。但将图片放在原生Android侧不合理,开发Flutter应关注Flutter的相关开发,减少与原生工程的关注。另外,在读取原生Android侧图片时,图片读取性能差。其二是将图片放在Flutter工程中,根据不同的渠道信息去加载不同的图片。但是在打包编译时将所有渠道版本的图片都打包在同一个Flutter产物中,使包体积变大。另外,通过不同的渠道信息去判断加载图片,可能导致代码混乱,不简洁。
进一步地,本申请实施例通过将Flutter工程中的各个业务资源按照渠道信息分别存储,将与渠道相关的资源,如:图片、文字、颜色等等,完全放在Flutter工程中,并最终在调用时仅加载与渠道信息相关的业务资源对应的Flutter产物。只使用一套代码,代码中不根据渠道信息做判断,使代码保持一致,减少了加载时间。另外,最终的Flutter产物只有一份跟渠道信息相关的资源,避免了的资源包过大。
基于同一发明构思,本申请实施例300还提供一种基于Flutter的资源打包装置,其中,如图3所示,该装置包括:
获取模块31,用于获取各个Flutter工程的业务资源和每个业务资源对应的渠道信息;
存储模块32,用于根据每个业务资源对应的渠道信息,将各个业务资源存储至对应的指定目录下;
生成模块33,用于在对业务资源进行打包时,将与渠道信息对应的指定目录下的业务资源进行打包,生成与各个渠道信息对应的Flutter产物。
本实施例中,获取模块31、存储模块32和生成模块3的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。
可选地,存储模块32还用于:
为与每个业务资源对应的渠道信息设置渠道入口,渠道入口的入口名称中包括与对应的存放业务资源的指定目录的目录名称中相同的渠道参数;
为每个业务资源对应的渠道信息加载与渠道参数一致的渠道入口,并将业务资源通过对应的渠道入口存储至对应的指定目录下。
可选地,生成模块33还用于:
对需要进行打包的业务资源执行打包命令,生成与各个业务资源对应的渠道信息的Flutter产物。
可选地,该装置还包括;
调用模块34,用于基于渠道信息,原生Native工程调用上传的各个Flutter产物中与渠道信息对应的Flutter产物。
如图4所示,本申请的又一实施例400还提供一种终端设备,包括处理器401,其中,处理器401用于执行上述一种基于Flutter的资源打包方法的步骤。从图4中还可以看出,上述实施例提供的终端设备还包括非瞬时计算机可读存储介质402,该非瞬时计算机可读存储介质402上存储有计算机程序,该计算机程序被处理器401运行时执行上述一种基于Flutter的资源打包方法的步骤。实际应用中,该终端设备可以是一台或多台计算机,只要包括上述计算机可读介质和处理器即可。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘和FLASH等,该存储介质上的计算机程序被运行时,能够执行上述的一种基于Flutter的资源打包方法中的各个步骤。实际应用中,所述的计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或多个程序被执行时,能够执行上述的一种基于Flutter的资源打包方法中的各个步骤。
根据本申请公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本申请保护的范围。在本申请公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标注的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于Flutter的资源打包方法,其特征在于,包括:
获取各个Flutter工程的业务资源和每个所述业务资源对应的渠道信息;
根据每个所述业务资源对应的所述渠道信息,将各个所述业务资源存储至对应的指定目录下;
在对所述业务资源进行打包时,将与所述渠道信息对应的所述指定目录下的业务资源进行打包,生成与各个所述渠道信息对应的Flutter产物。
2.根据权利要求1所述的方法,其特征在于,所述将各个业务资源存储至对应的指定目录下的步骤包括:
为与每个所述业务资源对应的所述渠道信息设置渠道入口,所述渠道入口的入口名称中包括与对应的存放所述业务资源的指定目录的目录名称中相同的渠道参数;
为每个所述业务资源对应的所述渠道信息加载与所述渠道参数一致的所述渠道入口,并将所述业务资源通过对应的所述渠道入口存储至对应的所述指定目录下。
3.根据权利要求1所述的方法,其特征在于,所述生成与各个渠道信息对应的Flutter产物的步骤包括:
对需要进行打包的所述业务资源执行打包命令,生成与各个所述业务资源对应的所述渠道信息的Flutter产物。
4.根据权利要求1所述的方法,其特征在于,所述生成与各个渠道信息对应的Flutter产物的步骤之后,所述方法进一步包括:
基于所述渠道信息,原生Native工程调用上传的所述各个Flutter产物中与所述渠道信息对应的所述Flutter产物。
5.一种基于Flutter的资源打包装置,其特征在于,包括:
获取模块,用于获取各个Flutter工程的业务资源和每个所述业务资源对应的渠道信息;
存储模块,用于根据每个所述业务资源对应的所述渠道信息,将各个所述业务资源存储至对应的指定目录下;
生成模块,用于在对所述业务资源进行打包时,将与所述渠道信息对应的所述指定目录下的业务资源进行打包,生成与各个所述渠道信息对应的Flutter产物。
6.根据权利要求5所述的装置,其特征在于,所述存储模块还用于:
为与每个所述业务资源对应的所述渠道信息设置渠道入口,所述渠道入口的入口名称中包括与对应的存放所述业务资源的指定目录的目录名称中相同的渠道参数;
为每个所述业务资源对应的所述渠道信息加载与所述渠道参数一致的所述渠道入口,并将所述业务资源通过对应的所述渠道入口存储至对应的所述指定目录下。
7.根据权利要求5所述的装置,其特征在于,所述生成模块还用于:
对需要进行打包的所述业务资源执行打包命令,生成与各个所述业务资源对应的所述渠道信息的Flutter产物。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括;
调用模块,用于基于所述渠道信息,原生Native工程调用上传的所述各个Flutter产物中与所述渠道信息对应的所述Flutter产物。
9.一种非瞬时计算机可读存储介质,其特征在于,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如权利要求1至4任一项所述的一种基于Flutter的资源打包方法中的各个步骤。
10.一种终端设备,其特征在于,包括处理器,所述处理器用于执行如权利要求1至4中任一项所述的一种基于Flutter的资源打包方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911010417.5A CN111090422A (zh) | 2019-10-23 | 2019-10-23 | 一种基于Flutter的资源打包方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911010417.5A CN111090422A (zh) | 2019-10-23 | 2019-10-23 | 一种基于Flutter的资源打包方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111090422A true CN111090422A (zh) | 2020-05-01 |
Family
ID=70393447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911010417.5A Pending CN111090422A (zh) | 2019-10-23 | 2019-10-23 | 一种基于Flutter的资源打包方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111090422A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694564A (zh) * | 2020-06-05 | 2020-09-22 | 百度在线网络技术(北京)有限公司 | Flutter混合模式的编译方法、装置、设备和介质 |
CN112230930A (zh) * | 2020-10-22 | 2021-01-15 | 贝壳技术有限公司 | 混合技术栈构建打包的方法和装置及机器可读存储介质 |
CN112988177A (zh) * | 2021-04-16 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 应用安装包的发布、应用程序的运行方法、服务器及终端 |
CN113760355A (zh) * | 2021-09-08 | 2021-12-07 | 杭州涂鸦信息技术有限公司 | 一种代码打包方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267988A (zh) * | 2014-09-26 | 2015-01-07 | 北京飞流九天科技有限公司 | 用于对移动应用进行打包的系统和方法 |
CN107992311A (zh) * | 2017-12-27 | 2018-05-04 | 北京酷我科技有限公司 | 一种快速批量打包生成apk文件的方法 |
CN109542459A (zh) * | 2018-09-29 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 应用程序打包方法及装置、计算机装置及计算机存储介质 |
-
2019
- 2019-10-23 CN CN201911010417.5A patent/CN111090422A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267988A (zh) * | 2014-09-26 | 2015-01-07 | 北京飞流九天科技有限公司 | 用于对移动应用进行打包的系统和方法 |
CN107992311A (zh) * | 2017-12-27 | 2018-05-04 | 北京酷我科技有限公司 | 一种快速批量打包生成apk文件的方法 |
CN109542459A (zh) * | 2018-09-29 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 应用程序打包方法及装置、计算机装置及计算机存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694564A (zh) * | 2020-06-05 | 2020-09-22 | 百度在线网络技术(北京)有限公司 | Flutter混合模式的编译方法、装置、设备和介质 |
CN111694564B (zh) * | 2020-06-05 | 2023-08-04 | 百度在线网络技术(北京)有限公司 | Flutter混合模式的编译方法、装置、设备和介质 |
CN112230930A (zh) * | 2020-10-22 | 2021-01-15 | 贝壳技术有限公司 | 混合技术栈构建打包的方法和装置及机器可读存储介质 |
CN112988177A (zh) * | 2021-04-16 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 应用安装包的发布、应用程序的运行方法、服务器及终端 |
CN112988177B (zh) * | 2021-04-16 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 应用安装包的发布、应用程序的运行方法、服务器及终端 |
CN113760355A (zh) * | 2021-09-08 | 2021-12-07 | 杭州涂鸦信息技术有限公司 | 一种代码打包方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090422A (zh) | 一种基于Flutter的资源打包方法、装置和存储介质 | |
US10142106B2 (en) | System and method for securing sensitive data | |
CN108964968B (zh) | 一种容器云环境下的服务接入管理方法和系统 | |
US20160179495A1 (en) | Device and method for packaging application | |
CN104991793A (zh) | 一种用于应用程序分包的方法、装置以及系统 | |
CN105094878B (zh) | 一种集成系统库文件的方法和装置 | |
US20210182174A1 (en) | System and method for application transformation to cloud based on semi-automated workflow | |
WO2014035931A1 (en) | Branded computer devices and apparatus to connect user and enterprise | |
CN111274000A (zh) | 一种服务编排方法、装置及电子设备和存储介质 | |
CN109101244B (zh) | 一种ios系统一体化自动打包方法 | |
CN112256359A (zh) | 微服务合并方法、装置、电子设备及可读存储介质 | |
CN104090946A (zh) | 应用安装包中添加信息的方法及装置 | |
CN104572054A (zh) | 一种能力调用方法和设备 | |
WO2016041499A1 (zh) | 应用下载方法和移动终端 | |
CN107526636B (zh) | 资源识别方法及装置 | |
CN109766123B (zh) | 应用程序封装方法及装置 | |
CN108833482B (zh) | Mdl文件自动下载方法、系统、计算机设备和存储介质 | |
JP2019501459A (ja) | アプリケーションプログラム実行方法及び装置 | |
US20160277919A1 (en) | Mobile Terminal Configuration Method and System | |
CN111722865A (zh) | 一种应用程序的资源数据处理方法和装置 | |
CN110727416A (zh) | 开发框架的生成方法及相关装置 | |
CN110399160B (zh) | 渠道包打包方法、装置、服务器以及存储介质 | |
KR101930056B1 (ko) | 보안 정책을 지원하는 단말 관리 방법 및 장치 | |
CN108228165B (zh) | 一种记录程序接口间调用信息的方法及电子设备 | |
CN104965719A (zh) | 应用安装文件生成方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200501 |