| 先从 VasDolly先说使用后的体验:因为 classpath 'com.android.tools.build:gradle:7.0.3' classpath 'com.tencent.vasdolly:plugin:3.0.4' } distributionUrl=https://services.gradle.org/distributions/gradle-7.0.2-all.zip 即可成功编译,并且按教程配置,可以打出对应的包。官方的 但是,例如项目环境为: dependencies {classpath "com.android.tools.build:gradle:4.1.3" classpath 'com.tencent.vasdolly:plugin:3.0.4' } distributionUrl=https://services.gradle.org/distributions/gradle-6.6-all.zip 编译项目会报这个错: Unable to load class 'com.android.build.api.extension.AndroidComponentsExtension'.This is an unexpected error. Please file a bug containing the idea.log file. VasDolly 实现原理:github.com/Tencent/Vas…
通过Gradle生成多渠道包若是直接编译生成多渠道包,首先要配置渠道文件、渠道包的输出目录和渠道包的命名规则: channel{//指定渠道文件 channelFile = file("/Users/leon/Downloads/testChannel.txt") //多渠道包的输出目录,默认为new File(project.buildDir,"channel") outputDir = new File(project.buildDir,"xxx") //多渠道包的命名规则,默认为:${appName}-${versionName}-${versionCode}-${flavorName}-${buildType}-${buildTime} apkNameFormat ='${appName}-${versionName}-${versionCode}-${flavorName}-${buildType}' //快速模式:生成渠道包时不进行校验(速度可以提升10倍以上,默认为false) fastMode = false //buildTime的时间格式,默认格式:yyyyMMdd-HHmmss buildTimeDateFormat = 'yyyyMMdd-HH:mm:ss' //低内存模式(仅针对V2签名,默认为false):只把签名块、中央目录和EOCD读取到内存,不把最大头的块读取到内存,在手机上合成APK时,可以使用该模式 lowMemory = false } 其中,多渠道包的命名规则中,可使用以下字段:
然后,通过 为了方便临时生成渠道包进行测试,从v2.0.0开始支持添加渠道参数: 根据已有基础包重新生成多渠道包若是根据已有基础包重新生成多渠道包,首先要配置渠道文件、基础包的路径和渠道包的输出目录: rebuildChannel {//指定渠道文件 channelFile = file("/Users/leon/Downloads/testReChannel.txt") // 已有APK文件地址(必填),如new File(project.rootDir, "/baseApk/app_base.apk"),文件名中的base将被替换为渠道名 baseApk = 已有APK文件地址(必填) //默认为new File(project.buildDir, "rebuildChannel") outputDir = 渠道包输出目录 //快速模式:生成渠道包时不进行校验(速度可以提升10倍以上,默认为false) fastMode = false //低内存模式(仅针对V2签名,默认为false):只把签名块、中央目录和EOCD读取到内存,不把最大头的内容块读取到内存,在手机上合成APK时,可以使用该模式 lowMemory = false } 通过命令行生成渠道包、读取渠道信息:github.com/Tencent/Vas… 读取渠道信息通过 如果没有渠道信息,那么这里返回 Walle先说使用后的体验:
classpath 'com.android.tools.build:gradle:4.1.3' classpath 'com.meituan.android.walle:plugin:1.1.7' } distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-6.6-all.zip 即可成功编译,并且按教程配置,可以打出对应的渠道包。 Walle 实现原理:tech.meituan.com/2017/01/13/… 最后总结:
android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
applicationVariants.all { variant -> variant.outputs.all { output -> def fileName if (variant.buildType.name == "release") { fileName = "XXAPP-${variant.productFlavors[0].name}-${variant.versionName}-Android.apk" } else { fileName = "XXAPP-Android.apk" } outputFileName = fileName } } productFlavors { yingyongbao { dimension "versionCode" manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"] } huawei { dimension "versionCode" manifestPlaceholders = [UMENG_CHANNEL_VALUE: "huawei"] } xiaomi { dimension "versionCode" manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"] } oppo { dimension "versionCode" manifestPlaceholders = [UMENG_CHANNEL_VALUE: "oppo"] } vivo { dimension "versionCode" manifestPlaceholders = [UMENG_CHANNEL_VALUE: "vivo"] } weibo { dimension "versionCode" manifestPlaceholders = [UMENG_CHANNEL_VALUE: "weibo"] } bzhan { dimension "versionCode" manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bzhan"] } toutiao { dimension "versionCode" manifestPlaceholders = [UMENG_CHANNEL_VALUE: "toutiao"] } guangdiantong { dimension "versionCode" manifestPlaceholders = [UMENG_CHANNEL_VALUE: "guangdiantong"] } baidu { dimension "versionCode" manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"] } urlTest { dimension "serverUrl" buildConfigField("int", "SERVER_TYPE", "1") } urlOnline { dimension "serverUrl" buildConfigField("int", "SERVER_TYPE", "2") } } 这些渠道包相关的配置,都会和
推荐学习视频:apk加固与多渠道打包线上优化 |
相关文章
重新申请淘宝账号要多久(邮箱注册淘宝号流程)
笔者因账号原因,需要重新注册淘宝账号,但是本人只有一个手机号,于是就想到了用邮箱注册,但是淘宝注册打开的时候却提示需要输入手机号,其实,输入手机号后还是可以用邮箱注册的,那么,如何用邮箱注册淘宝账号呢?今天就给大家分享一下! 进入淘宝网登录页面,点击“免费注册” 输入手机...
手机可以安装店侦探吗,店侦探插件怎么安装到淘宝页面(店侦探电脑版在哪里下载)
店侦探插件是安装在浏览器上的应用,在打开淘宝相关网站时候就会显示宝贝的下架时间、类目、价格变化和淘宝搜索天猫搜索直通车无线搜索展现词等是功能。...
拼多多直播如何放视频?深度解析直播视频技巧
随着互联网的发展,电商平台的竞争也愈发激烈。拼多多作为其中的一匹黑马,其直播功能吸引了大量商家和用户。但是,很多新手商家在拼多多直播时,对于如何在直播中放视频感到困惑。本文将为你揭秘拼多多直播放视频的技巧,让你轻松掌握直播视频的奥秘。 一、拼多多直播放视频的重要性 在拼多多直播中放...
seoer告诉你SEO优化要了解的基本知识。
seo公司:关键词的选择 这一点很重要它决定了你的网站的定位,尤其有很多人不懂外贸SEO见了词就想优化,这是非常错误的,做seo优化要做真正能够带来利益的词,而不是盲目的去优化,例如有的站只能做某个地区的业务而非要做全国性的词,这不是劳民伤财吗?二,丰富的内容 网站的灵魂就是内容,即使是做外贸SEO...
在字节2年,我学到了这15条关于内容运营的干货
编辑导语:大致来看,内容运营包含内容和运营两大方面,那么,运营人员应当如何对这两大方面进行拆解,细化成可执行的事项、实现运营能力的提升?在正式做运营工作前,又应该有哪些准备?本篇文章里,作者结合其工作经验,对如何做好内容运营做出了自己的解读,一起来看一下。 01 两年前,在同...
抖音seo排名规则、操作流程详
今年上半年,字节跳动ceo张楠透露,抖音视频搜索月活用户已超5.5亿,,“接下来的一年,抖音将加大对搜索的投入力度。快手搜索负责人李岩则在快手光合创作者大会透露,快手搜索的月活跃用户已超2.5亿。 毋庸置疑,“搜索”已成为抖快的一大发力方向。 “抖快”的搜索有别于百度搜...







