androidstudio-AndroidStudio多渠道打包

问题描述

AndroidStudio多渠道打包

今天公司要把APP上线一些渠道,本来想用多渠道打包的,在网上跟着做了下,然后报错。
网上方法貌似都不能用了啊。都是一年前的方法,找不到最新的。

使用后报找不到productFlavors()这个错,查了下好像是这个方法过时了?但是没有见解决办法啊。

这是我Moudle的gradle的所有配置。请教大神指导下啊。

解决方案

友盟多渠道打包

在AndroidManifest.xml里面会有这么一段:

<meta-data
android:name="UMENG_CHANNEL"
android:value="Channel_ID" />

里面的Channel_ID就是渠道标示。我们的目标就是在编译的时候这个值能够自动变化。

第一步 在AndroidManifest.xml里配置PlaceHolder

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

第二步 在build.gradle设置productFlavors

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

或者批量修改

android {
    productFlavors {
        xiaomi {}
        _360 {}
        baidu {}
        wandoujia {}
    }  

    productFlavors.all {
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
}

assemble: 允许直接构建一个Variant版本,例如assembleFlavor1Debug。

assemble: 允许构建指定Build Type的所有APK,例如assembleDebug将会构建Flavor1Debug和Flavor2Debug两个Variant版本。

assemble: 允许构建指定flavor的所有APK,例如assembleFlavor1将会构建Flavor1Debug和Flavor1Release两个Variant版本。
按照这样试一下

解决方案二:

我就是看了这个博客根据他的来做的,但是我把productFlavors 这段代码加上后,就报我上面那个错了。不行啊。

时间: 2024-09-13 14:50:53

androidstudio-AndroidStudio多渠道打包的相关文章

AndroidStudio Gradle基于友盟的多渠道打包方法

AndroidStudio由于使用了gradle的进行项目构建,使我们开发app方便很多,今天我就给大家列出几点是用gradle的方便之处. 一.AndroidStudio Gradle第三依赖统一管理 二.AndroidStudio Gradle基于友盟的多渠道打包 三.AndroidStudio安全管理签名文件keystroe和签名密码 好久没写博客了,今天写一篇关于多渠道打包的文章. 首先我们要下载友盟的jar包,然后照着文档配置即可.(这里就不过多讲解了,直接看我的代码) 文档地址:ht

Android Studio多渠道打包套路

说到多渠道,这里不得不提一下友盟统计,友盟统计是大家日常开发中常用的渠道统计工具,而我们的打包方法就是基于友盟统计实施的.按照友盟官方文档说明,渠道信息通常需要在AndroidManifest.xml中配置如下值: <meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/> 上面的value值Channel_ID就是渠道标识.我们的期望的就是在编译时候这个值能够自动变化以满足区

android-美团多渠道打包,其实使用Python实现的,为什么要使用它?java可否也能实现?

问题描述 美团多渠道打包,其实使用Python实现的,为什么要使用它?java可否也能实现? 美团多渠道打包,原理是将渠道号命名的空文件放入apk中,代码动态读取实现的,其中空文件放入这部分是通过python实现的,为什么使用它?java可否实现?shell可否实现? 解决方案 python中使用mahotas包实现高斯模糊 解决方案二: 主要是看实现的逻辑,应该是美团开发人员熟悉python,以及类库方便 解决方案三: http://blog.csdn.net/crazy1235/articl

Android Studio使用教程(六):Gradle多渠道打包_Android

由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这再也不是事了. 友盟多渠道打包 废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段: 复制代码 代码如下: <meta-data     android:name="UMENG_CHANNEL"     android:value="Channel_ID" /&g

studio多渠道打包

由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这事就简单了. 友盟多渠道打包 废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段: [html] view plaincopyprint? <meta-data       android:name="UMENG_CHANNEL"       android:value="

maven-Maven多渠道打包报错,求解!

问题描述 Maven多渠道打包报错,求解! 这是异常: D:makeApkMavenBuild>D:makeApkMavenBuilduild.bat [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building mavenbuild-test 1.0.0 [INFO] ----------

Android笔记之:App自动化之使用Ant编译项目多渠道打包的使用详解_Android

随着工程越来越复杂,项目越来越多,以及平台的迁移(我最近就迁了2回),还有各大市场的发布,自动化编译android项目的需求越来越强烈,后面如果考虑做持续集成的话,会更加强烈.    经过不断的尝试,在ubuntu环境下,以花界为例,我将一步一步演示如何使用命令行,使用ant编译android项目,打包多渠道APK.    要点:    (1). 编译android的命令使用    (2). ant基本应用    (3). 多项目如何编译(包含android library)    (4). 如

柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布

柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布 由于JAVA和Android的平台型,所以APP很容易被反编译,这对于我们开发者来说,是一个不想要的结果,对于用户来说,就是一个噩耗,而安全性,一直是我们关注的焦点,今天,我们来聊聊这个安全性,和一起玩玩Apk加固! 一.我们为什么要提高APP的安全性 手机已经是不会离开身边了,APP更是重中之重的环节,我们衣食住行,基本上大部分都是靠APP来完成的,这样的话,APP的安全就是一个很大的挑战了,

Android Studio系列教程六--Gradle多渠道打包

转:  http://www.stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/     由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这再也不是事了. 友盟多渠道打包 废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段: <meta-data android:name="