当前位置 : 主页 > 网络编程 > 其它编程 >

Androidstudio之多渠道打包

来源:互联网 收集:自由互联 发布时间:2023-07-02
最近做项目,接收了一项任务——多渠道打包于是乎找找google,一搜一大堆,不外乎就是用友盟进行多渠道打包。看了一堆博客,自己总结一下经验,纯当做下笔记。首先呢,多渠道打
最近做项目,接收了一项任务——多渠道打包于是乎找找google,一搜一大堆,不外乎就是用友盟进行多渠道打包。看了一堆博客,自己总结一下经验,纯当做下笔记。首先呢,多渠道打包,为的就是统计

最近做项目,接收了一项任务——多渠道打包 于是乎找找google,一搜一大堆,不外乎就是用友盟进行多渠道打包。 看了一堆博客,自己总结一下经验,纯当做下笔记。

首先呢,多渠道打包,为的就是统计各个渠道的下载数量,或者新增用户、日活跃量用户的一些相关数据,这就与友盟统计相关了。所以我们用友盟进行多渠道打包就可以了。

那么如何做呢,首先我们进入友盟的官网https://www.umeng.com/ 选择开发者中心,看到如下图片

这里写图片描述

接着,申请KEY,跟着文档将SDK导入项目即可

这里写图片描述

然后回到自己的项目,在app的build.gradle添加以下代码:

dependencies { compile 'com.umeng.analytics:analytics:latest.integration'}

如果无法正常集成请添加如下代码 :

allprojects { repositories { mavenCentral() }}

接着,在AndroidManifest.xml文件下添加以下代码

manifest的配置主要包括添加权限,填写Appkey和填写渠道id三部分,代码示例如下:

……

主要部分就是将key替换成自己的,至于Channel ID,不用急,我们稍后再讲。

第一步 在AndroidManifest.xml里配置PlaceHolder

data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />

第二步 在build.gradle设置productFlavors

android { productFlavors { kuan { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "kuan"] } xiaomi { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"] } qh360 { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qh360"] } baidu { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"] } wandoujia { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] } } }

这样,便能动态地替换UMENG_CHANNEL_VALUE的值。 下面提供一种更简便的写法,代码如下:

android { productFlavors { kuan {} xiaomi {} qh360 {} baidu {} wandoujia {} yingyongbao {} } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } }

两种写法实现的效果都是一样的,代码方面,这里就不多做解释了,有兴趣的自己研究以下。 然后,我们点一下同步按钮

这里写图片描述

将添加的渠道(xiaomi、qn360)的渠道配置给同步进来。 打开File->Project Structure->Flavors,我们会发现除了默认的defaultConfig,还多出了kuan、qh360之类的flavors。

这里写图片描述

如果我们想再添加渠道的话,点击图片右上角的“+”号按钮,可以添加新的渠道,与在代码里面实现的效果是一样的。

接着,我们便可以实现多渠道打包

这里写图片描述

首先,我们先按图片,生成签名

这里写图片描述

这里写图片描述

上面两张图转自

http://blog.csdn.net/yy1300326388/article/details/48344411

接下来,我们可以通过两种方式进行多渠道打包,一个是通过图形界面,另一个是通过命令行。 通过图形界面的话,点击上上上图里的Generate Signed APK,然后如下所示

这里写图片描述

选择刚才自己生成的签名文件,即KEY STORE,然后填写对应的资料,刚才生成签名文件的时候自己写入的。然后点击NEXT

这里写图片描述

大家可以看到如下,flavors,可以进行选择。然后build type的话可以选择release或者debug。然后再点NEXT,接下来只需默默等待打包完成即可。通过图形界面打包的APK会放置在项目路径下app里面,假如我的项目是with,那么生成的apk会放在with/app下

这里写图片描述

方法二:使用命令行进行多渠道打包:

打开Android studio,点击左下角的Terminal 如果我们想打包wandoujia渠道的release版本,执行如下命令就好了:

gradlew assembleWandoujiaRelease

如果我们想打包wandoujia渠道的debug版本,执行如下命令就好了:

gradlew assembleWandoujiaDebug

如果我们只打wandoujia渠道版本,则:

gradlew assembleWandoujia

此命令会生成wandoujia渠道的Release和Debug版本 同理我想打全部Release版本:

gradlew assembleRelease

当然啦,如果我们想打包全部的Debug版本:

gradlew assembleDebug

然后,我们可以在项目的app/build/output/apk下面找到我们打包的apk 我们来试一下 输入gradlew assembleDebug,看看有什么效果

这里写图片描述

因为打包多了太费时间,所以我把其他渠道的先给屏蔽了,就先打包一个,大家自己操作的时候可以不屏蔽,试试效果

有的人说,这个打包出来的APK名字能不能自定义,否则每次都得手动去改,那就太坑了。 这个问题,当然可以解决了。

buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null MobclickAgent.onResume(this);}public void onPause() { super.onPause(); MobclickAgent.onPause(this);}

PS:多渠道打包之后,可以在友盟官网对自己的应用进行查看,里面有对应用的相关数据的分析,例如日活跃量,APK打开的人数之类,这里不做多余的解释啦。

今天的教程就到这了,下一章我们再讲解一下Android studio的签名配置。

上一篇:平均速度计算器–Tkinter
下一篇:没有了
网友评论