2、在build.gradle设置productFlavors 这里假定我们需要打包的渠道为小米、百度 android { productFlavors { xiaomi baidu { manifestPlaceholders = [CHANNEL_VALUE: "baidu"] } } } 如果打包的渠道比较多我们还可以批量修改 //多渠道打包 productFlavors { xiaomi {} baidu {} } productFlavors.all /gradlew assembleRelease命令可以一次性打包出所有的签名渠道包 ? signingConfigs.debugConfig } } lintOptions { abortOnError false } //多渠道打包
由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这事就简单了。 友盟多渠道打包 废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段: <meta-data android:name="UMENG_CHANNEL" android /gradlew assembleRelease , 然后就可以静静的等待打包完成。 如我们想打包wandoujia渠道的release版本,执行如下命令就好了: ./gradlew assembleWandoujiaRelease 如果我们只打wandoujia渠道版本,则: . } } } } } // 友盟多渠道打包
Mainfest 文件中添加一个键值对,这里的value 我定义为 “UMENG_CHANNEL_VALUE”(当然实际应用中可以根据自己的需要命名),后面打包的时候会对这个值进行替换。 wandoujia { manifestPlaceholders =[UMENG_CHANNEL_VALUE: "wandoujia"] } } 或者第二种批量打包 { flavor -> flavor.manifestPlaceholders= [UMENG_CHANNEL_VALUE: name] } 接下来用studio就可以打多渠道包了 然后全部选中即可, 接下来静静的等待工具为我们打包吧,
gradle 版本:4.1 (gradle-4.1-all.zip) 在defaultConfig添加: defaultConfig{ ... flavorDimensions "versionCode" ... } buildTypes中的配置: buildTypes { release { signingConfig signingConfigs.release //设置签名信息 minifyEnabled true //混淆开启
前言 国内Android应用市场品种太多,血统不纯,每次上线App都打包打到手软,上传上到吐血!好在我们有了Android studio和gradle,一条命令打包各种渠道版本App! 正文 Umeng多渠道 我们在项目中会使用统计SDK,用的最流行的当属umeng了吧。这里我们就用友盟来说明。 META-INF/license.txt' exclude 'META-INF/dependencies.txt' exclude 'META-INF/LGPL2.1' } // 友盟多渠道打包 /gradlew assembleDebug // 打包全部Release版本 . 例如: // 打包wandoujia渠道的Release版本和Debug版本 ./gradlew assembleWandoujia // 打包wandoujia渠道的Release版本 .
经过一天的奋战,终于搞定了批量打包,不多说,上代码 多渠道就是按照不同的市场进行发布不同的包,由于要改版本名,所以有的时候要打10多个包,在测试部的人员打一次包久会感觉不好, 先说前提,是运用android sdk进行打包,需要ant, 同时ant核心库本身不支持遍历功能,所以需要引入新库ant-contrib-1.0b3.jar,需要放到ant\lib目录下,我直接放到当前项目目录下。 CHANNEL"/> 用来表示版本的值 然后再把要替换的值放在配置文件,可以放在ant.properties, project.properties, local.properties等文件,当然如果为了打包与这些文件分离 market_channels=anzhuoshichang,jifengshichang,baiduyingyongzhongxin app_version=1_0_build_0 上面就是需要打包的版本
本文链接:https://blog.csdn.net/huangliniqng/article/details/102667952 前言 什么是多渠道打包以及多渠道打包可以做什么,这里就不做介绍了, 相信看到这篇文章的你已经了解了,多渠道打包的方式比较多,这里我们用Gradle多渠道打包方式。 ,一个渠道名称是baidu,一个渠道名称是sougou,通过applicationId直接指定应用包名 不同渠道我们使用的请求地址不同,字段是BaseApi,我们可以通过buildConfigField sougou渠道版本 ? 到这里,常用的多渠道打包需要的配置就结束了,如有错误欢迎指正。
关于如何多渠道打包,以下文字详细解答了Android如何实现多渠道打包以及快速打包。 多渠道打包 配置gradle实现多渠道打包 每当应用发布一个新的版本的时候,我们会分发到每一个应用市场中去,比如,360手机助手,小米应用市场,华为应用市场等。 在打包的过程中,我们一般都是使用gradle来进行的。gradle为我们的打包提高了很多的便利,多渠道打包也可以轻松实现。 3.执行gradle aS就可以将所有的渠道包输出了。 gradle实现多渠道打包的缺点 虽然gradle配置多渠道打包很简单,也很方便,但是这种方式存在一个致命的缺陷,那就是费时间。 之前的渠道包生成方案是通过在META-INF目录下添加空文件,用空文件的名称来作为渠道的唯一标识,之前在META-INF下添加文件是不需要重新签名应用的,这样会节省不少打包的时间,从而提高打渠道包的速度
使用Python生成多渠道包 往apk包中追加到一个空文件到META-INF目录以标识渠道,Android中获取此文件即可获得App的下载渠道 首先在info文件夹新建一个qdb.txt的空文本文件 新建channel.txt存放渠道来源 ? 运行Python代码即可将目录下的apk生成多渠道文件包 ? Python代码如下: #! if not os.path.exists(output_dir): os.mkdir(output_dir) # 遍历渠道号并创建对应渠道号的 apk文件 for line in lines: # 获取当前渠道号,因为从渠道文件中获得带有\n,所有strip一下 target_channel
buildConfigField:自定义属性,和buildTypes中类似 manifestPlaceholders:manifest文件中属性 好了,我们一起使用productFlavors进行多渠道打包 但我们不想这样,除了友盟渠道号不同外,其他都相同,所以我们只设置友盟渠道号: ? 2、Sync Now Sync Now后,您就会发现,在Build Variants中: ? 您已经发现: 版本数=buildTypes* productFlavors 然后您就可以运行各渠道对应的应用了。 4、打包上线即可 今天只是简单的总结了下使用Gradle进行多渠道打包上线,有不对的地方希望大家指出。
其中数据格式定义如下: 而添加的渠道信息如下所示: 该种方式较前两种方式实现相对麻烦些,特别是渠道信息的获取需要读取整个APK,解析注解,获取渠道信息,另外就是兼容性不是很好。 PackageManager.GET_META_DATA); String channel = appInfo.metaData.getString("Goapk_Market"); 这里采用的是网易云捕精英大队开发了多渠道打包工具 ,该工具主要基于manifest和meta渠道包制作方式,实现快速批量多渠道包的生成。 (打包系列教程之六) - CSDN博客 https://blog.csdn.net/javazejian/article/details/50760590 Android快速批量多渠道包的“蛋生” docId=101829642806284288 自动化打包apk总结并整合资料 - 简书 https://www.jianshu.com/p/4a07d902066f
我们都知道国内应用市场非常多,为了统计各个应用市场的app下载量和使用情况,我们需要多渠道的打包。如果一个一个的手动去打包岂不烦死了,要多麻烦就有多麻烦。 这就要求我们学会使用Gradle进行多渠道打包。废话不多说了,直接进入正题吧! " android:value="xiaomi" /> 如果不使用多渠道打包方法,那就需要我们手动一个一个去修改value中的值,xiaomi,360,qq,wandoujia等等。 使用多渠道打包的方式,就需要把上面的value配置成下面的方式: <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE 第三步:一次生成所有<em>渠道</em>包 我们可以使用CMD命令,进入到项目所在的目录,直接输入命令: gradle assembleRelease 就开始<em>打包</em>了,如果<em>渠道</em>很多的话,时间可能会很长。
已不推荐本方法,多渠道打包请看【Android】Walle多渠道打包&Tinker热修复。 现状 多渠道打包,相信很同学都知道。在Android Studio中只要经过配置,就能打出对应市场的渠道包。 多渠道打包 在360加固助手里面,选择辅助工具,在弹出的窗口中选择渠道打包 ? ? 在弹出的多渠道打包工具窗口中,选择APK文件、输入路径d点击生成渠道包。 很快就能看到窗口中打包的信息,这个过程非常快。完成后,在对应的文件夹下,就能看到刚刚生成的多个渠道包了。 ? 多渠道打包 ? (支持极速打包,100个渠道包只需要10秒钟)不知是否有用过的同学,好用吗?给我安利一波? 注意:已通过Walle实现多渠道打包,打包速度确实快,而且方便。 【Android】Walle多渠道打包&Tinker热修复 以上有错误之处,感谢指出
目前公司有一个需求,就是我们App要做多渠道,之前一个App但是现在客户要求各自的渠道包要用自的服务器地址。也就是之前一个包,现在有可能几十上百个包。 目前网上也就两种打包方式,一种是全部打包,一种是只打一个母包然后修改plist文件,icon,launch image 看业务需求,两种打包方式都可能会用到,下面我就介绍这两种打包方法 全部打包,就是多 /bin/sh echo "~~~~~~~~~~~~~~~~~~~~ 开始执行打包脚本 ~~~~~~~~~~~~~~~~~~~~" ########################## 工程基本信息配置 ########################### #循环数组,需要打包的渠道名称,以空格隔开 channelArray=("Channel1" "Channel2") #项目路径 MWBuildDir /ArchivePath/WamingJinshan.xcarchive done 这种打包方式的缺点就是慢,假如有100个渠道就要打100次,优点就是多Target方式各个渠道一目了然。
操作系统:mac os 10.13.4 加固软件版本:3.0.7.12 问题:辅助工具 -> 多渠道打包,针对乐固加固包进行多渠道打包失败。 (未加固的包可以进行多渠道打包) 渠道设置如下: image.png 打包问题: image.png 查看如下。 image.png
什么是多渠道包 渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠道,例如:小米市场、360市场、应用宝市场等 产品在不同的应用市场可能有不同的统计需求,需要为每个应用市场的Android 包设定一个可以区分应用市场的标识,这个为Android包设定应用市场标识的过程就是多渠道打包。 为什么要提供多渠道包 国内存在着有众多的应用市场,产品在不同的渠道可能有不同的统计需求,为此Android开发人员需要为每个应用市场发布一个安装包,这里就引出了Android的多渠道打包。 在安装包中添加不同的标识,应用在请求网络的时候携带渠道信息,方便后台做运营统计。 友盟的多渠道打包 友盟就提供了多渠道打包的方式,可用于渠道统计等。 flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } 如果没有错误的话,效果是这样的 打包发布后
众所周知,由于国内Android渠道环境的特殊性,每当Android客户端需要发布新版本或者与渠道推广合作时,就需要在安装包中添加不同的渠道信息,也就是channel,制作成APK渠道包之后,投放到不同渠道才能统计相应数据 想要缩减打包成本,提高打包效率,可以采用openinstall进行Android渠道打包,打包流程无需技术人员参与,操作上只需“创建渠道—>导出渠道包”即可批量完成渠道包制作,让Android渠道打包简单到无以复加 Android多渠道打包流程一、准备阶段使用openinstall Android渠道包功能的前提,是集成相应的Android SDK,注册后在控制台【Android集成】或者官网文档中,按照步骤指引, 二、正式打包在【Android渠道包】目录下有两个操作页面:1、渠道包制作:点击【添加渠道包】,输入渠道编号(即channel渠道信息)、渠道名称(取个方便记忆的名字),渠道数量(应用市场投放可单个逐一创建 ,主要能解决以下难题:1、解决打包困难:任何Android渠道包的需求场景都可以通过openinstall快捷批量导出渠道包,操作上只需上传一次渠道母包,剩下的工作都可以交由运营和业务人员自主操作,节省了大量开发和时间成本
熟悉App开发和推广流程的小伙伴都知道,开发一款App只是第一步,App想要上架应用市场进行下载推广,还要面临繁琐的渠道打包工作,给每一个应用市场打一个对应的渠道包,是统计渠道数据的关键。 timg11.jpg 目前市场上确实有一款工具能完美替代手工多渠道打包的传统方式,那就是openinstall,这是一款专做渠道来源追踪技术的工具,但它在渠道统计方面同样有独到之处。 可以登录openinstall官网:www.openinstall.io 注册账号可以免费测试体验以下的渠道统计功能。 一、解决渠道打包和统计 如何解决多渠道打包问题呢? 10.jpg 最后我们只要在操作按钮中导出相应的应用市场渠道包,报表中所有的数据都能精准获取,只需要简单导入导出,手工多渠道打包和服务端数据统计问题就能轻松解决,简单、高效、直接。 QQ图片20181129162746.png 渠道打包只是一个方法,背后的数据和行为才是产品运营中真正需要挖掘的。
Android使用Ant进行apk多渠道打包 前言: Ant 是什么? /output”/> 2,加载渠道信息,并使用ant的 foreach功能实现批量打包; 1 <target name="myPackChannels"> 2 <foreach target="myPackBuild build.channels}" param="build.channel" delimiter=","> 3 </foreach> 4 </target> 可以看到这里是从 ${build.channels} 中读取相关渠道信息 ,多渠道中间用,分隔; build.channels=101,201,301 3,将当前的AndroidMenifest.xml复制到备份目录; 1 <target name="myBackupManifest
多渠道打包: 可以理解为:同时发布多个渠道的apk。分别上架不同的应用商店。这些apk带有各自渠道的标签,用于统计分析各个商店的下载次数等数据。 实现步骤 一、添加友盟渠道标签 添加位置:app目录下的 AndroidManifest.xml文件 添加语句: <! --多渠道打包--> <meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/> 二、添加渠道 添加几个,打包的时候就可以生成几个相应渠道的包 添加位置:app目录下的build.gradle文件 android{ ... } 内 添加代码: productFlavors 五、gradle 实现多渠道打包 ? 测试: 可以看到outputs --> app 中多了各个渠道的release.apk 包 ?