想代理产品去哪里找,seo新手教程,wordpress获取自定义文章列表,开发电商网站要多少钱一、多渠道打包概念
1.1、多渠道打包概念
多渠道打包#xff08;Multi-channel Packaging#xff09;是指为同一个应用生成多个不同的安装包#xff08;通常是APK文件#xff09;#xff0c;每个安装包可以包含不同的配置、资源或元数据。
1.2、多渠道打包相关配置介绍…一、多渠道打包概念
1.1、多渠道打包概念
多渠道打包Multi-channel Packaging是指为同一个应用生成多个不同的安装包通常是APK文件每个安装包可以包含不同的配置、资源或元数据。
1.2、多渠道打包相关配置介绍
1.2.1、Variant
Variant中文是变体的意思变体 (variant) 是指应用可以构建不同的版本
变体由多个构建类型组合而成例如debug与release以及构建脚本中定义的产品变种。
1.2.2、productFlavors
productFlavors中文翻译过来是产品变种用来定义不同变体每个变体可以有不同的配置和资源最终打出来的包也会不一样
eg productFlavors {external {dimension appapplicationId com.test.external.demo}internal {dimension appapplicationId com.test..internal.demo}}代表有两个产品变种
1.2.3、flavorDimensions
flavorDimensions表示产品变种的维度(Dimensions)是「组」的概念同一个维度即为一个产品变种组
1.2.3、buildTypes
buildTypes是构建类型用来定义构建类型配置比如是否开启代码混淆、是否开启调试模式等通常包含debug和release两种类型。
1.2.4、资源合并规则
渠道构建时渠道变体(external)会跟主变体(main)目录下的资源进行合并如有同名配置资源例如strings.xml文件中的app_name则优先取渠道(external)配置资源进行覆盖其他不同名的则进行合并layout文件、assets文件则是替换渠道资源(external)优先于主变体(main)资源
二、多渠道打包实现
在appmodule的build.gradle配置
flavorDimensions appproductFlavors {external {dimension appapplicationId com.test.external.demo}internal {dimension appapplicationId com.test..internal.demo}}代表有两个产品变种 buildTypes {debug {minifyEnabled falseproguardFiles getDefaultProguardFile(proguard-android-optimize.txt), proguard-rules.pro}release {minifyEnabled trueproguardFiles getDefaultProguardFile(proguard-android-optimize.txt), proguard-rules.pro}}代表有两个buildType
配置不同渠道的AndroidManifest
sourceSets {external{manifest.srcFile src/external/AndroidManifest.xml}internal {manifest.srcFile src/internal/AndroidManifest.xml}}同时在代码目录新建与main同级的internal和external目录
下边分别放置不同渠道的AndroidManifest.xml
在编译时会将main和不同渠道的AndroidManifest.xml做merge生成不同渠道的AndroidManifest文件 配置后会生成对应的构建任务执行对应的构建任务即可生成对应渠道的apk